Nemiver  0.3
nmv-layout.h
Go to the documentation of this file.
1 //Author: Fabien Parent
2 /*
3  *This file is part of the Nemiver project
4  *
5  *Nemiver is free software; you can redistribute
6  *it and/or modify it under the terms of
7  *the GNU General Public License as published by the
8  *Free Software Foundation; either version 2,
9  *or (at your option) any later version.
10  *
11  *Nemiver is distributed in the hope that it will
12  *be useful, but WITHOUT ANY WARRANTY;
13  *without even the implied warranty of
14  *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15  *See the GNU General Public License for more details.
16  *
17  *You should have received a copy of the
18  *GNU General Public License along with Nemiver;
19  *see the file COPYING.
20  *If not, write to the Free Software Foundation,
21  *Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22  *
23  *See COPYRIGHT file copyright information.
24  */
25 #ifndef __NMV_LAYOUT_H__
26 #define __NMV_LAYOUT_H__
27 
28 #include "common/nmv-ustring.h"
29 #include "common/nmv-object.h"
31 
32 namespace Gtk {
33  class Widget;
34 }//end namespace Gtk
35 
36 NEMIVER_BEGIN_NAMESPACE (nemiver)
37 
38 using namespace common;
39 
40 class IPerspective;
41 class Layout;
43 
48 class Layout : public Object {
49  //non copyable
50  Layout (const Layout&);
51  Layout& operator= (const Layout&);
52 
53 protected:
54  Layout () {}
55 
56 public:
59  virtual void do_lay_out (IPerspective &a_perspective) = 0;
60 
64  virtual void do_cleanup_layout () = 0;
65 
68  virtual const UString& identifier () const = 0;
69 
72  virtual const UString& name () const = 0;
73 
76  virtual const UString& description () const = 0;
77 
80  virtual Gtk::Widget* widget () const = 0;
81 
83  virtual void do_init () = 0;
84 
86  virtual void save_configuration () = 0;
87 
90  virtual void activate_view (int a_view_identifier) = 0;
91 
99  virtual void append_view (Gtk::Widget &a_widget,
100  const UString &a_title,
101  int a_index) = 0;
102 
105  virtual void remove_view (int a_index) = 0;
106 
107  virtual ~Layout () {}
108 };
109 
110 NEMIVER_END_NAMESPACE (nemiver)
111 
112 #endif //__NMV_LAYOUT_H__
nmv-safe-ptr-utils.h
nemiver::common::Object
Definition: nmv-object.h:43
nemiver
Definition: nmv-address.h:31
nemiver::Layout::Layout
Layout()
Definition: nmv-layout.h:54
nmv-ustring.h
nemiver::common::UString
Definition: nmv-ustring.h:45
nemiver::Layout::~Layout
virtual ~Layout()
Definition: nmv-layout.h:107
nemiver::Layout
The base class for Layouts.
Definition: nmv-layout.h:48
Gtk
Definition: nmv-asm-utils.h:30
nemiver::IPerspective
Definition: nmv-i-perspective.h:54
nemiver::LayoutSafePtr
SafePtr< Layout, ObjectRef, ObjectUnref > LayoutSafePtr
Definition: nmv-layout.h:41
nmv-object.h
nemiver::common::SafePtr
Definition: nmv-safe-ptr.h:71
nemiver::common::env::do_init
void do_init()
common
Definition: nmv-proc-list-dialog.h:32