3
// GNOME Do is the legal property of its developers, whose names are too numerous
4
// to list here. Please refer to the COPYRIGHT file distributed with this
5
// source distribution.
7
// This program is free software: you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published by
9
// the Free Software Foundation, either version 3 of the License, or
10
// (at your option) any later version.
12
// This program is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
17
// You should have received a copy of the GNU General Public License
18
// along with this program. If not, see <http://www.gnu.org/licenses/>.
24
namespace Do.Interface
34
public interface IDoWindow : IDisposable
37
/// Returns true if window is currently being displayed
42
/// The name of the interface
47
/// Set and Get current Pane
49
Pane CurrentPane { get; set; }
52
/// Initializes the interface
54
/// <param name="controller">
55
/// A <see cref="IDoController"/>
57
void Initialize (IDoController controller);
60
/// Summoning of main window. Does not imply resetting of normal state
65
/// Vanishing of main window. Does not imply resetting of normal state
70
/// Signal to UI window to clear out its panes and set a "default" state as it defines.
71
/// Focusing of the first pane is implied with this method call
76
/// Event to Controller to pass keypress information on to it. This should be a direct
77
/// pass to the controller with no modification in between.
79
/// <param name="pane">
80
/// A <see cref="Pane"/>
82
event DoEventKeyDelegate KeyPressEvent;
85
/// Inform UI that the third display area needs to be displayed
90
/// Inform UI that the third display area needs to be hidden
95
/// Inform UI that it is appropriate to show more results than are currently shown
100
/// Inform UI that it is appropriate to show fewer results than are currently shown
102
void ShrinkResults ();
105
/// All inclusive pane set method. This should update the search results as well as the current
106
/// objects and its highlight.
108
/// <param name="pane">
109
/// A <see cref="Pane"/>
111
/// <param name="context">
112
/// A <see cref="SearchContext"/>
114
void SetPaneContext (Pane pane, IUIContext context);
117
/// Clear out the context of a pane.
119
/// <param name="pane">
120
/// A <see cref="Pane"/>
122
void ClearPane (Pane pane);
124
bool ResultsCanHide { get; }