~do-win/do/test-paths

« back to all changes in this revision

Viewing changes to Do.Interface.Windows/src/Do.Interface/IDoWindow.cs

  • Committer: Hardeep S
  • Date: 2009-06-23 03:53:12 UTC
  • Revision ID: ootz0rz@gmail.com-20090623035312-it8tb5wkha6nf31p
Added Do.Interface.Windows, and a bunch of cleanup with old MonoDevelop files elsewhere

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//  IDoWindow.cs
 
2
//
 
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.
 
6
//
 
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.
 
11
//
 
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.
 
16
//
 
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/>.
 
19
 
 
20
using System;
 
21
using Do.Universe;
 
22
using Gdk;
 
23
 
 
24
namespace Do.Interface
 
25
{
 
26
        public enum Pane
 
27
        {
 
28
                None = -1,
 
29
                First = 0,
 
30
                Second = 1,
 
31
                Third = 2,
 
32
        }
 
33
        
 
34
        public interface IDoWindow : IDisposable
 
35
        {
 
36
                /// <value>
 
37
                /// Returns true if window is currently being displayed
 
38
                /// </value>
 
39
                bool Visible { get; }
 
40
                
 
41
                /// <value>
 
42
                /// The name of the interface
 
43
                /// </value>
 
44
                string Name { get; }
 
45
                
 
46
                /// <value>
 
47
                /// Set and Get current Pane
 
48
                /// </value>
 
49
                Pane CurrentPane { get; set; }
 
50
                
 
51
                /// <summary>
 
52
                /// Initializes the interface
 
53
                /// </summary>
 
54
                /// <param name="controller">
 
55
                /// A <see cref="IDoController"/>
 
56
                /// </param>
 
57
                void Initialize (IDoController controller);
 
58
                
 
59
                /// <summary>
 
60
                /// Summoning of main window.  Does not imply resetting of normal state
 
61
                /// </summary>
 
62
                void Summon ();
 
63
                
 
64
                /// <summary>
 
65
                /// Vanishing of main window.  Does not imply resetting of normal state
 
66
                /// </summary>
 
67
                void Vanish ();
 
68
                
 
69
                /// <summary>
 
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
 
72
                /// </summary>
 
73
                void Reset ();
 
74
                
 
75
                /// <summary>
 
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.
 
78
                /// </summary>
 
79
                /// <param name="pane">
 
80
                /// A <see cref="Pane"/>
 
81
                /// </param>
 
82
                event DoEventKeyDelegate KeyPressEvent;
 
83
                
 
84
                /// <summary>
 
85
                /// Inform UI that the third display area needs to be displayed
 
86
                /// </summary>
 
87
                void Grow ();
 
88
                
 
89
                /// <summary>
 
90
                /// Inform UI that the third display area needs to be hidden
 
91
                /// </summary>
 
92
                void Shrink ();
 
93
                
 
94
                /// <summary>
 
95
                /// Inform UI that it is appropriate to show more results than are currently shown
 
96
                /// </summary>
 
97
                void GrowResults ();
 
98
                
 
99
                /// <summary>
 
100
                /// Inform UI that it is appropriate to show fewer results than are currently shown
 
101
                /// </summary>
 
102
                void ShrinkResults ();
 
103
                
 
104
                /// <summary>
 
105
                /// All inclusive pane set method.  This should update the search results as well as the current
 
106
                /// objects and its highlight.
 
107
                /// </summary>
 
108
                /// <param name="pane">
 
109
                /// A <see cref="Pane"/>
 
110
                /// </param>
 
111
                /// <param name="context">
 
112
                /// A <see cref="SearchContext"/>
 
113
                /// </param>
 
114
                void SetPaneContext (Pane pane, IUIContext context);
 
115
                
 
116
                /// <summary>
 
117
                /// Clear out the context of a pane.
 
118
                /// </summary>
 
119
                /// <param name="pane">
 
120
                /// A <see cref="Pane"/>
 
121
                /// </param>
 
122
                void ClearPane (Pane pane);
 
123
                
 
124
                bool ResultsCanHide { get; }
 
125
        }
 
126
}