Ardour  9.0-pre0-582-g084a23a80d
notebook.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 // Generated by gmmproc 2.45.3 -- DO NOT MODIFY!
3 #ifndef _GTKMM_NOTEBOOK_H
4 #define _GTKMM_NOTEBOOK_H
5 
6 #include <gtkmmconfig.h>
7 
8 
9 #include <glibmm/ustring.h>
10 #include <sigc++/sigc++.h>
11 
12 /*
13  * Copyright (C) 1998-2002 The gtkmm Development Team
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Lesser General Public
17  * License as published by the Free Software Foundation; either
18  * version 2.1 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23  * Lesser General Public License for more details.
24  *
25  * You should have received a copy of the GNU Lesser General Public
26  * License along with this library; if not, write to the Free
27  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28  */
29 
30 
31 #include <gtkmm/container.h>
32 #include <gtkmm/label.h>
33 //#include <gtk/gtknotebook.h>
34 #include <glibmm/helperlist.h>
35 
36 
37 #ifndef DOXYGEN_SHOULD_SKIP_THIS
38 extern "C"
39 {
40  typedef struct _GtkNotebookPage GtkNotebookPage;
41 }
42 #endif //DOXYGEN_SHOULD_SKIP_THIS
43 
44 #ifndef DOXYGEN_SHOULD_SKIP_THIS
45 typedef struct _GtkNotebook GtkNotebook;
46 typedef struct _GtkNotebookClass GtkNotebookClass;
47 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
48 
49 
50 namespace Gtk
51 { class Notebook_Class; } // namespace Gtk
52 namespace Gtk
53 {
54 
55 
63 {
66 };
67 
68 } // namespace Gtk
69 
70 
71 #ifndef DOXYGEN_SHOULD_SKIP_THIS
72 namespace Glib
73 {
74 
75 template <>
76 class Value<Gtk::NotebookTab> : public Glib::Value_Enum<Gtk::NotebookTab>
77 {
78 public:
79  static GType value_type() G_GNUC_CONST;
80 };
81 
82 } // namespace Glib
83 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
84 
85 
86 namespace Gtk
87 {
88 
89 
90 class Notebook;
91 
94 namespace Notebook_Helpers
95 {
96 /*********************************************************************
97 ***** Elem classes
98 *********************************************************************/
99 
100 class Page;
101 
102 /* Since the data stored in GtkNotebook's GList is inaccessible
103  * the iterator "PageIterator" has to hold a pointer to the Notebook
104  * that owns the list. "Page" (the value_type of "PageList")
105  * inherits "PageIterator" privately and uses Notebook-API-functions
106  * to retrieve and manipulate data.
107  *
108  * Note that PageIterator uses g_list_* functions just to step through
109  * the children and test for iterator equality instead of simply using
110  * the child index number. This is done because even if you use a
111  * child index number, you would still have to use g_list_length() to
112  * retrieve the number of elements. And using an element index results
113  * in iterators not staying valid on insertion/removal. This would only
114  * lead to fragile and unexpected behaviour.
115  * (Thanks for this explanation, Daniel!)
116  */
120 {
121 public:
122  typedef std::bidirectional_iterator_tag iterator_category;
123  typedef size_t size_type;
124  typedef ptrdiff_t difference_type;
125 
126  typedef Page value_type;
127  typedef const Page* pointer;
128  typedef const Page& reference;
129 
130  PageIterator(Gtk::Notebook* parent, GList* node) : node_(node), parent_(parent) {}
131  PageIterator() : node_(0), parent_(0) {}
132 
133  bool equal(const PageIterator& other) const;
134  operator bool() const;
135 
138 
141 
142  inline reference operator*() const;
143  inline pointer operator->() const;
144 
145 protected:
146  GList* node_;
148 
150 };
151 
153 inline bool operator==(const PageIterator& lhs, const PageIterator& rhs)
154  { return lhs.equal(rhs); }
155 
157 inline bool operator!=(const PageIterator& lhs, const PageIterator& rhs)
158  { return !lhs.equal(rhs); }
159 
160 // Page is the output class
163 class Page : public PageIterator
164 {
165 protected:
166  Page();
167 private:
168  Page& operator=(const Page&);
169 
170 public:
171  #ifndef GTKMM_DISABLE_DEPRECATED
172 
173  int get_page_num() const;
174  Widget* get_child() const;
176  void set_tab_label(Widget& tab_label);
177  void set_tab_label_text(const Glib::ustring& tab_text);
178  Glib::ustring get_tab_label_text() const;
180  void set_menu_label(Widget& menu_label);
181  void set_menu_label_text(const Glib::ustring& menu_text);
182  Glib::ustring get_menu_label_text() const;
183 
184 
187  void query_tab_label_packing(bool& expand, bool& fill, PackType& pack_type);
188 
191  void set_tab_label_packing(bool expand, bool fill, PackType pack_type);
192  #endif // GTKMM_DISABLE_DEPRECATED
193 
194 };
195 
196 //We don't put PageList in a deprecation ifdef because it is used by a member variable and we don't want to break ABI.
197 
198 // Element is the input class
201 class PageList;
202 
203 class Element
204 {
205 public:
206  Element(Widget* child, Widget* tab, Widget* menu);
207  Element(Widget& child, Widget& tab, Widget& menu);
208  explicit Element(Widget& child);
209 
210 protected:
211  friend class PageList;
215 };
216 
217 #ifndef GTKMM_DISABLE_DEPRECATED
218 
219 
220 // Just a widget without a tab
222 
225 struct TabElem : public Element
226 {
227  TabElem(Widget& child, Widget& tab);
228  TabElem(Widget& child, const Glib::ustring& label, bool mnemonic = false);
229 };
230 
233 struct MenuElem : public Element
234 {
235  MenuElem(Widget& child, Widget& menu);
236 };
237 
238 #endif // GTKMM_DISABLE_DEPRECATED
239 
240 
241 /*********************************************************************
242 ***** List properties
243 *********************************************************************/
244 
248 class PageList
249 {
250 public:
253  PageList(const PageList& src);
254 
256 
257  typedef Page value_type;
258  typedef Page& reference;
259  typedef const Page& const_reference;
260 
262 #ifndef GTKMM_DISABLE_DEPRECATED
263 
264  typedef Glib::List_ConstIterator<iterator> const_iterator;
265  typedef Glib::List_ReverseIterator<iterator> reverse_iterator;
266  typedef Glib::List_ConstIterator<reverse_iterator> const_reverse_iterator;
267 
268  typedef const Element element_type;
269 
270  typedef size_t difference_type;
271  typedef size_t size_type;
272 
274  { return gparent_; }
275  inline const GtkNotebook* gparent() const
276  { return gparent_; }
277 
278  size_type size() const;
279 
281  bool empty() const;
282 
283  inline iterator begin()
284  { return begin_(); }
285  inline iterator end()
286  { return end_(); }
287 
288  inline const_iterator begin() const
289  { return const_iterator(begin_()); }
290  inline const_iterator end() const
291  { return const_iterator(end_()); }
292 
294  { return reverse_iterator(end_()); }
296  { return reverse_iterator(begin_()); }
297 
302 
303  value_type front() const;
304  value_type back() const;
305 
307 
308  iterator insert(iterator position, element_type& e); //custom-implemented.
309 
310  template <class InputIterator>
311  inline void insert(iterator position, InputIterator first, InputIterator last)
312  {
313  for(;first != last; ++first)
314  position = insert(position, *first);
315  }
316 
317  inline void push_front(element_type& e)
318  { insert(begin(), e); }
319  inline void push_back(element_type& e)
320  { insert(end(), e); }
321 
324  void remove(const_reference child);
325  void remove(Widget& w);
326 
327  void reorder(iterator loc, iterator page); // Non-standard
328 
329  iterator find(int num);
333 
334  inline void pop_front()
335  { erase(begin()); }
336  inline void pop_back()
337  { erase(--end()); }
338 
339  void clear();
340 #endif // GTKMM_DISABLE_DEPRECATED
341 
342 
343 protected:
344  iterator begin_() const;
345  iterator end_() const;
346 
348 };
349 
350 } // Notebook_Helpers
351 
361 class Notebook : public Container
362 {
363  public:
364 #ifndef DOXYGEN_SHOULD_SKIP_THIS
365  typedef Notebook CppObjectType;
366  typedef Notebook_Class CppClassType;
367  typedef GtkNotebook BaseObjectType;
368  typedef GtkNotebookClass BaseClassType;
369 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
370 
371  virtual ~Notebook();
372 
373 #ifndef DOXYGEN_SHOULD_SKIP_THIS
374 
375 private:
376  friend class Notebook_Class;
377  static CppClassType notebook_class_;
378 
379  // noncopyable
380  Notebook(const Notebook&);
381  Notebook& operator=(const Notebook&);
382 
383 protected:
384  explicit Notebook(const Glib::ConstructParams& construct_params);
385  explicit Notebook(GtkNotebook* castitem);
386 
387 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
388 
389 public:
390 #ifndef DOXYGEN_SHOULD_SKIP_THIS
391  static GType get_type() G_GNUC_CONST;
392 
393 
394  static GType get_base_type() G_GNUC_CONST;
395 #endif
396 
398  GtkNotebook* gobj() { return reinterpret_cast<GtkNotebook*>(gobject_); }
399 
401  const GtkNotebook* gobj() const { return reinterpret_cast<GtkNotebook*>(gobject_); }
402 
403 
404 public:
405  //C++ methods used to invoke GTK+ virtual functions:
406 
407 protected:
408  //GTK+ Virtual Functions (override these to change behaviour):
409 
410  //Default Signal Handlers::
412  virtual void on_switch_page(GtkNotebookPage* page, guint page_num);
413 
414 
415 private:
416 
417 
418 public:
419 
420 //We don't put PageList in a deprecation ifdef because it is used by a member variable and we don't want to break ABI.
424 
425 
427 
428 
434  int prepend_page(Widget& child, Widget& tab_label);
435  int prepend_page(Widget& child);
436 
437  int prepend_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic = false);
438 
447  int prepend_page(Widget& child, Widget& tab_label, Widget& menu_label);
448  //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
449 
450  int prepend_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic);
451 
452 
458  int append_page(Widget& child, Widget& tab_label);
459  int append_page(Widget& child);
460  int append_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic = false);
461 
462 
471  int append_page(Widget& child, Widget& tab_label, Widget& menu_label);
472  //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
473 
474  int append_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic = false);
475 
476 
484  int insert_page(Widget& child, Widget& tab_label, int position);
485  int insert_page(Widget& child, int position);
486 
487  int insert_page(Widget& child, const Glib::ustring& tab_label, int position, bool use_mnemonic = false);
488 
499  int insert_page(Widget& child, Widget& tab_label, Widget& menu_label, int position);
500  //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
501 
502  int insert_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, int position, bool use_mnemonic = false);
503 
504 
512  void remove_page(int page_num = 0);
513  void remove_page(Widget& child);
514 
515 #ifndef GTKMM_DISABLE_DEPRECATED
516 
520  typedef sigc::slot<Notebook*, Widget*, int, int> SlotWindowCreation;
521 
525 
526 #endif // GTKMM_DISABLE_DEPRECATED
527 
528 
529 #ifndef GTKMM_DISABLE_DEPRECATED
530 
539  void set_group_id(int group_id);
540 #endif // GTKMM_DISABLE_DEPRECATED
541 
542 
543 #ifndef GTKMM_DISABLE_DEPRECATED
544 
550  int get_group_id() const;
551 #endif // GTKMM_DISABLE_DEPRECATED
552 
553 
554  //TODO: Use something nicer than void*/gpointer?
555 
556 #ifndef GTKMM_DISABLE_DEPRECATED
557 
567  void set_group(void* group);
568 #endif // GTKMM_DISABLE_DEPRECATED
569 
570 
571 #ifndef GTKMM_DISABLE_DEPRECATED
572 
580  void* get_group();
581 #endif // GTKMM_DISABLE_DEPRECATED
582 
583 
584 #ifndef GTKMM_DISABLE_DEPRECATED
585 
593  const void* get_group() const;
594 #endif // GTKMM_DISABLE_DEPRECATED
595 
596 
605  void set_group_name(const Glib::ustring& group_name);
606 
616  Glib::ustring get_group_name() const;
617 
618 
625  int get_current_page() const;
626 
635 
643  const Widget* get_nth_page(int page_num) const;
644 
645 #ifndef GTKMM_DISABLE_DEPRECATED
646 
653  int get_n_pages();
654 #endif // GTKMM_DISABLE_DEPRECATED
655 
656 
661  int get_n_pages() const;
662  /*Widget* get_current_page();*/ /*inconsistency with set_current_page*/
663 
664 #ifndef GTKMM_DISABLE_DEPRECATED
665 
675  int page_num(const Widget& child);
676 #endif // GTKMM_DISABLE_DEPRECATED
677 
678 
686  int page_num(const Widget& child) const;
687 
688 
702 
706  void next_page();
707 
711  void prev_page();
712 
713 
720  void set_show_border(bool show_border = true);
721 
722 
728  bool get_show_border() const;
729 
734  void set_show_tabs(bool show_tabs = true);
735 
741  bool get_show_tabs() const;
742 
743 
750 
757 
758 
764  void set_scrollable(bool scrollable = true);
765 
771  bool get_scrollable() const;
772 
773 
778  guint16 get_tab_hborder() const;
779 
784  guint16 get_tab_vborder() const;
785 
786 
790  void popup_enable();
791 
792 
796 
797 
806 
814  const Widget* get_tab_label(Widget& child) const;
815 
823  void set_tab_label(Widget& child, Widget& tab_label);
824 
831  void set_tab_label_text(Widget& child, const Glib::ustring& tab_text);
832 
839  Glib::ustring get_tab_label_text(Widget& child) const;
840 
849 
857  const Widget* get_menu_label(Widget& child) const;
858 
864  void set_menu_label(Widget& child, Widget& menu_label);
865 
871  void set_menu_label_text(Widget& child, const Glib::ustring& menu_text);
872 
879  Glib::ustring get_menu_label_text(Widget& child) const;
880 
881  #ifndef GTKMM_DISABLE_DEPRECATED
882 
885  void query_tab_label_packing(Widget& child, bool& expand, bool& fill, PackType& pack_type);
886 
887  #endif // GTKMM_DISABLE_DEPRECATED
888 
889 
890 #ifndef GTKMM_DISABLE_DEPRECATED
891 
906  void set_tab_label_packing(Widget& child, bool expand, bool fill, PackType pack_type);
907 #endif // GTKMM_DISABLE_DEPRECATED
908 
909 
918  void reorder_child(Widget& child, int position);
919 
920 
926  bool get_tab_reorderable(Widget& child) const;
927 
934  void set_tab_reorderable(Widget& child, bool reorderable = true);
935 
941  bool get_tab_detachable(Widget& child) const;
942 
964  void set_tab_detachable(Widget& child, bool detachable = true);
965 
966 
974 
985  void set_action_widget(Widget* widget, PackType pack_type = PACK_START);
986 
987 #ifndef GTKMM_DISABLE_DEPRECATED
988 
992 
996 
999  const PageList& pages() const;
1000 #endif // GTKMM_DISABLE_DEPRECATED
1001 
1002 
1009  Glib::SignalProxy2< void,GtkNotebookPage*,guint > signal_switch_page();
1010 
1011 
1018  Glib::SignalProxy2< void,Widget*,guint > signal_page_reordered();
1019 
1020 
1027  Glib::SignalProxy2< void,Widget*,guint > signal_page_removed();
1028 
1029 
1036  Glib::SignalProxy2< void,Widget*,guint > signal_page_added();
1037 
1038 
1039  //Key-binding signals:
1040 
1041 
1042  //This doesn't seem generally useful:
1043 
1044 
1050  Glib::PropertyProxy< PositionType > property_tab_pos() ;
1051 
1057  Glib::PropertyProxy_ReadOnly< PositionType > property_tab_pos() const;
1058 
1064  Glib::PropertyProxy< bool > property_show_tabs() ;
1065 
1071  Glib::PropertyProxy_ReadOnly< bool > property_show_tabs() const;
1072 
1078  Glib::PropertyProxy< bool > property_show_border() ;
1079 
1085  Glib::PropertyProxy_ReadOnly< bool > property_show_border() const;
1086 
1092  Glib::PropertyProxy< bool > property_scrollable() ;
1093 
1099  Glib::PropertyProxy_ReadOnly< bool > property_scrollable() const;
1100 
1106  Glib::PropertyProxy_WriteOnly< guint > property_tab_border() ;
1107 
1108 
1114  Glib::PropertyProxy< guint > property_tab_hborder() ;
1115 
1121  Glib::PropertyProxy_ReadOnly< guint > property_tab_hborder() const;
1122 
1128  Glib::PropertyProxy< guint > property_tab_vborder() ;
1129 
1135  Glib::PropertyProxy_ReadOnly< guint > property_tab_vborder() const;
1136 
1142  Glib::PropertyProxy< int > property_page() ;
1143 
1149  Glib::PropertyProxy_ReadOnly< int > property_page() const;
1150 
1156  Glib::PropertyProxy< bool > property_enable_popup() ;
1157 
1163  Glib::PropertyProxy_ReadOnly< bool > property_enable_popup() const;
1164 
1170  Glib::PropertyProxy< bool > property_homogeneous() ;
1171 
1177  Glib::PropertyProxy_ReadOnly< bool > property_homogeneous() const;
1178 
1184  Glib::PropertyProxy< int > property_group_id() ;
1185 
1191  Glib::PropertyProxy_ReadOnly< int > property_group_id() const;
1192 
1198  Glib::PropertyProxy< void* > property_group() ;
1199 
1205  Glib::PropertyProxy_ReadOnly< void* > property_group() const;
1206  //TODO: What is this?
1207 
1208 protected:
1209 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1212  mutable PageList pages_proxy_;
1213 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
1214 
1215 
1216 };
1217 
1218 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1219 
1220 namespace Notebook_Helpers
1221 {
1222 
1223 /**** PageIterator **************************************************/
1224 
1225 inline
1227 {
1228  return static_cast<const Page&>(*this);
1229 }
1230 
1231 inline
1233 {
1234  return static_cast<const Page*>(this);
1235 }
1236 
1237 } // namespace Notebook_Helpers
1238 
1239 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
1240 
1241 } // namespace Gtk
1242 
1243 
1244 namespace Glib
1245 {
1254  Gtk::Notebook* wrap(GtkNotebook* object, bool take_copy = false);
1255 } //namespace Glib
1256 
1257 
1258 #endif /* _GTKMM_NOTEBOOK_H */
1259 
Element(Widget &child, Widget &tab, Widget &menu)
Element(Widget *child, Widget *tab, Widget *menu)
bool operator==(const PageIterator &lhs, const PageIterator &rhs)
Definition: notebook.h:153
bool equal(const PageIterator &other) const
PageIterator(Gtk::Notebook *parent, GList *node)
Definition: notebook.h:130
const PageIterator operator--(int)
std::bidirectional_iterator_tag iterator_category
Definition: notebook.h:122
bool operator!=(const PageIterator &lhs, const PageIterator &rhs)
Definition: notebook.h:157
const PageIterator operator++(int)
iterator insert(iterator position, element_type &e)
void reorder(iterator loc, iterator page)
iterator find(GtkNotebookPage *t)
void push_front(element_type &e)
Definition: notebook.h:317
void remove(const_reference child)
Glib::List_ConstIterator< iterator > const_iterator
Definition: notebook.h:264
const_iterator begin() const
Definition: notebook.h:288
const_reverse_iterator rbegin() const
Definition: notebook.h:298
PageList & operator=(const PageList &src)
PageList(const PageList &src)
const GtkNotebook * gparent() const
Definition: notebook.h:275
void insert(iterator position, InputIterator first, InputIterator last)
Definition: notebook.h:311
Glib::List_ReverseIterator< iterator > reverse_iterator
Definition: notebook.h:265
Glib::List_ConstIterator< reverse_iterator > const_reverse_iterator
Definition: notebook.h:266
iterator find(const_reference c)
reverse_iterator rbegin()
Definition: notebook.h:293
const_iterator end() const
Definition: notebook.h:290
value_type operator[](size_type l) const
reverse_iterator rend()
Definition: notebook.h:295
const_reverse_iterator rend() const
Definition: notebook.h:300
void erase(iterator start, iterator stop)
void push_back(element_type &e)
Definition: notebook.h:319
PageList(GtkNotebook *gparent)
void set_tab_label_text(const Glib::ustring &tab_text)
Glib::ustring get_tab_label_text() const
Widget * get_menu_label() const
void set_tab_label(Widget &tab_label)
Glib::ustring get_menu_label_text() const
void set_tab_label_packing(bool expand, bool fill, PackType pack_type)
Page & operator=(const Page &)
void query_tab_label_packing(bool &expand, bool &fill, PackType &pack_type)
Widget * get_child() const
void set_menu_label(Widget &menu_label)
void set_menu_label_text(const Glib::ustring &menu_text)
Widget * get_tab_label() const
Glib::PropertyProxy_ReadOnly< int > property_group_id() const
void popup_disable()
Glib::PropertyProxy< guint > property_tab_hborder()
Glib::ustring get_group_name() const
int get_n_pages() const
int page_num(const Widget &child) const
void set_menu_label_text(Widget &child, const Glib::ustring &menu_text)
const Widget * get_nth_page(int page_num) const
void remove_page(Widget &child)
Glib::PropertyProxy< PositionType > property_tab_pos()
sigc::slot< Notebook *, Widget *, int, int > SlotWindowCreation
Definition: notebook.h:520
const GtkNotebook * gobj() const
Provides access to the underlying C GtkObject.
Definition: notebook.h:401
Gtk::Notebook * wrap(GtkNotebook *object, bool take_copy=false)
Glib::PropertyProxy_ReadOnly< bool > property_scrollable() const
const Widget * get_menu_label(Widget &child) const
void set_tab_reorderable(Widget &child, bool reorderable=true)
Glib::PropertyProxy_ReadOnly< bool > property_homogeneous() const
bool get_show_border() const
Glib::SignalProxy2< void, Widget *, guint > signal_page_removed()
int get_current_page() const
int prepend_page(Widget &child, Widget &tab_label)
int append_page(Widget &child, Widget &tab_label, Widget &menu_label)
Glib::ustring get_menu_label_text(Widget &child) const
Glib::PropertyProxy_ReadOnly< guint > property_tab_vborder() const
int prepend_page(Widget &child, const Glib::ustring &tab_label, const Glib::ustring &menu_label, bool use_mnemonic)
int insert_page(Widget &child, Widget &tab_label, int position)
Glib::SignalProxy2< void, GtkNotebookPage *, guint > signal_switch_page()
Widget * get_action_widget(PackType pack_type=PACK_START)
Notebook_Helpers::PageList PageList
Definition: notebook.h:423
Glib::SignalProxy2< void, Widget *, guint > signal_page_reordered()
void set_group_id(int group_id)
bool get_show_tabs() const
void next_page()
PositionType get_tab_pos() const
Glib::PropertyProxy< guint > property_tab_vborder()
void set_show_tabs(bool show_tabs=true)
bool get_tab_reorderable(Widget &child) const
Glib::PropertyProxy_WriteOnly< guint > property_tab_border()
Glib::PropertyProxy_ReadOnly< bool > property_show_tabs() const
Glib::PropertyProxy_ReadOnly< bool > property_enable_popup() const
Glib::PropertyProxy< bool > property_enable_popup()
void set_tab_label_packing(Widget &child, bool expand, bool fill, PackType pack_type)
void set_scrollable(bool scrollable=true)
int prepend_page(Widget &child)
virtual ~Notebook()
void remove_page(int page_num=0)
Glib::PropertyProxy< int > property_page()
PageList & pages()
void set_tab_label_text(Widget &child, const Glib::ustring &tab_text)
Glib::PropertyProxy< int > property_group_id()
void set_group_name(const Glib::ustring &group_name)
Glib::PropertyProxy_ReadOnly< bool > property_show_border() const
Glib::PropertyProxy< bool > property_show_tabs()
void set_tab_detachable(Widget &child, bool detachable=true)
virtual void on_switch_page(GtkNotebookPage *page, guint page_num)
This is a default handler for the signal signal_switch_page().
int page_num(const Widget &child)
void set_show_border(bool show_border=true)
void set_menu_label(Widget &child, Widget &menu_label)
int append_page(Widget &child, const Glib::ustring &tab_label, bool use_mnemonic=false)
const Widget * get_tab_label(Widget &child) const
Glib::SignalProxy2< void, Widget *, guint > signal_page_added()
int prepend_page(Widget &child, const Glib::ustring &tab_label, bool use_mnemonic=false)
void query_tab_label_packing(Widget &child, bool &expand, bool &fill, PackType &pack_type)
void set_group(void *group)
Glib::ustring get_tab_label_text(Widget &child) const
void set_tab_label(Widget &child, Widget &tab_label)
Glib::PropertyProxy< void * > property_group()
int insert_page(Widget &child, const Glib::ustring &tab_label, int position, bool use_mnemonic=false)
int insert_page(Widget &child, Widget &tab_label, Widget &menu_label, int position)
Glib::PropertyProxy_ReadOnly< void * > property_group() const
Glib::PropertyProxy_ReadOnly< PositionType > property_tab_pos() const
const PageList & pages() const
void prev_page()
static void set_window_creation_hook(const SlotWindowCreation &slot)
bool get_tab_detachable(Widget &child) const
guint16 get_tab_vborder() const
void set_current_page(int page_num)
Widget * get_menu_label(Widget &child)
Widget * get_tab_label(Widget &child)
void set_tab_pos(PositionType pos)
Glib::PropertyProxy< bool > property_homogeneous()
GtkNotebook * gobj()
Provides access to the underlying C GtkObject.
Definition: notebook.h:398
void * get_group()
Glib::PropertyProxy_ReadOnly< guint > property_tab_hborder() const
const void * get_group() const
int insert_page(Widget &child, int position)
Glib::PropertyProxy< bool > property_show_border()
int append_page(Widget &child)
bool get_scrollable() const
int prepend_page(Widget &child, Widget &tab_label, Widget &menu_label)
int insert_page(Widget &child, const Glib::ustring &tab_label, const Glib::ustring &menu_label, int position, bool use_mnemonic=false)
void set_action_widget(Widget *widget, PackType pack_type=PACK_START)
Glib::PropertyProxy_ReadOnly< int > property_page() const
void popup_enable()
void reorder_child(Widget &child, int position)
PageList::iterator get_current()
Widget * get_nth_page(int page_num)
int append_page(Widget &child, const Glib::ustring &tab_label, const Glib::ustring &menu_label, bool use_mnemonic=false)
int get_group_id() const
int append_page(Widget &child, Widget &tab_label)
Glib::PropertyProxy< bool > property_scrollable()
guint16 get_tab_hborder() const
NotebookTab
Definition: notebook.h:63
@ NOTEBOOK_TAB_FIRST
Definition: notebook.h:64
@ NOTEBOOK_TAB_LAST
Definition: notebook.h:65
struct _GtkNotebookPage GtkNotebookPage
Definition: gtknotebook.h:58
PBD::PropertyDescriptor< timepos_t > start
Definition: ardour_ui.h:188
MenuElem(Widget &child, Widget &menu)
TabElem(Widget &child, Widget &tab)
TabElem(Widget &child, const Glib::ustring &label, bool mnemonic=false)
Definition: lobject.h:100