Ardour  9.5-103-gd697a107be
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 <ytkmm/ytkmmconfig.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 <ytkmm/container.h>
32 #include <ytkmm/label.h>
33 
34 
35 #ifndef DOXYGEN_SHOULD_SKIP_THIS
36 extern "C"
37 {
38  typedef struct _GtkNotebookPage GtkNotebookPage;
39 }
40 #endif //DOXYGEN_SHOULD_SKIP_THIS
41 
42 #ifndef DOXYGEN_SHOULD_SKIP_THIS
43 typedef struct _GtkNotebook GtkNotebook;
44 typedef struct _GtkNotebookClass GtkNotebookClass;
45 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
46 
47 
48 namespace Gtk
49 { class Notebook_Class; } // namespace Gtk
50 namespace Gtk
51 {
52 
53 
61 {
64 };
65 
66 } // namespace Gtk
67 
68 
69 #ifndef DOXYGEN_SHOULD_SKIP_THIS
70 namespace Glib
71 {
72 
73 template <>
74 class Value<Gtk::NotebookTab> : public Glib::Value_Enum<Gtk::NotebookTab>
75 {
76 public:
77  static GType value_type() G_GNUC_CONST;
78 };
79 
80 } // namespace Glib
81 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
82 
83 
84 namespace Gtk
85 {
86 
87 
88 class Notebook;
89 
92 namespace Notebook_Helpers
93 {
94 /*********************************************************************
95 ***** Elem classes
96 *********************************************************************/
97 
98 class Page;
99 
100 /* Since the data stored in GtkNotebook's GList is inaccessible
101  * the iterator "PageIterator" has to hold a pointer to the Notebook
102  * that owns the list. "Page" (the value_type of "PageList")
103  * inherits "PageIterator" privately and uses Notebook-API-functions
104  * to retrieve and manipulate data.
105  *
106  * Note that PageIterator uses g_list_* functions just to step through
107  * the children and test for iterator equality instead of simply using
108  * the child index number. This is done because even if you use a
109  * child index number, you would still have to use g_list_length() to
110  * retrieve the number of elements. And using an element index results
111  * in iterators not staying valid on insertion/removal. This would only
112  * lead to fragile and unexpected behaviour.
113  * (Thanks for this explanation, Daniel!)
114  */
118 {
119 public:
120  typedef std::bidirectional_iterator_tag iterator_category;
121  typedef size_t size_type;
122  typedef ptrdiff_t difference_type;
123 
124  typedef Page value_type;
125  typedef const Page* pointer;
126  typedef const Page& reference;
127 
128  PageIterator(Gtk::Notebook* parent, GList* node) : node_(node), parent_(parent) {}
129  PageIterator() : node_(0), parent_(0) {}
130 
131  bool equal(const PageIterator& other) const;
132  operator bool() const;
133 
136 
139 
140  inline reference operator*() const;
141  inline pointer operator->() const;
142 
143 protected:
144  GList* node_;
146 
148 };
149 
151 inline bool operator==(const PageIterator& lhs, const PageIterator& rhs)
152  { return lhs.equal(rhs); }
153 
155 inline bool operator!=(const PageIterator& lhs, const PageIterator& rhs)
156  { return !lhs.equal(rhs); }
157 
158 // Page is the output class
161 class Page : public PageIterator
162 {
163 protected:
164  Page();
165 private:
166  Page& operator=(const Page&);
167 
168 public:
169  #ifndef GTKMM_DISABLE_DEPRECATED
170 
171  int get_page_num() const;
172  Widget* get_child() const;
174  void set_tab_label(Widget& tab_label);
175  void set_tab_label_text(const Glib::ustring& tab_text);
176  Glib::ustring get_tab_label_text() const;
178  void set_menu_label(Widget& menu_label);
179  void set_menu_label_text(const Glib::ustring& menu_text);
180  Glib::ustring get_menu_label_text() const;
181 
182 
185  void query_tab_label_packing(bool& expand, bool& fill, PackType& pack_type);
186 
189  void set_tab_label_packing(bool expand, bool fill, PackType pack_type);
190  #endif // GTKMM_DISABLE_DEPRECATED
191 
192 };
193 
194 //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.
195 
196 // Element is the input class
199 class PageList;
200 
201 class Element
202 {
203 public:
204  Element(Widget* child, Widget* tab, Widget* menu);
205  Element(Widget& child, Widget& tab, Widget& menu);
206  explicit Element(Widget& child);
207 
208 protected:
209  friend class PageList;
213 };
214 
215 #ifndef GTKMM_DISABLE_DEPRECATED
216 
217 
218 // Just a widget without a tab
220 
223 struct TabElem : public Element
224 {
225  TabElem(Widget& child, Widget& tab);
226  TabElem(Widget& child, const Glib::ustring& label, bool mnemonic = false);
227 };
228 
231 struct MenuElem : public Element
232 {
233  MenuElem(Widget& child, Widget& menu);
234 };
235 
236 #endif // GTKMM_DISABLE_DEPRECATED
237 
238 
239 /*********************************************************************
240 ***** List properties
241 *********************************************************************/
242 
246 class PageList
247 {
248 public:
251  PageList(const PageList& src);
252 
254 
255  typedef Page value_type;
256  typedef Page& reference;
257  typedef const Page& const_reference;
258 
260 #ifndef GTKMM_DISABLE_DEPRECATED
261 
262  typedef Glib::List_ConstIterator<iterator> const_iterator;
263  typedef Glib::List_ReverseIterator<iterator> reverse_iterator;
264  typedef Glib::List_ConstIterator<reverse_iterator> const_reverse_iterator;
265 
266  typedef const Element element_type;
267 
268  typedef size_t difference_type;
269  typedef size_t size_type;
270 
272  { return gparent_; }
273  inline const GtkNotebook* gparent() const
274  { return gparent_; }
275 
276  size_type size() const;
277 
279  bool empty() const;
280 
281  inline iterator begin()
282  { return begin_(); }
283  inline iterator end()
284  { return end_(); }
285 
286  inline const_iterator begin() const
287  { return const_iterator(begin_()); }
288  inline const_iterator end() const
289  { return const_iterator(end_()); }
290 
292  { return reverse_iterator(end_()); }
294  { return reverse_iterator(begin_()); }
295 
300 
301  value_type front() const;
302  value_type back() const;
303 
305 
306  iterator insert(iterator position, element_type& e); //custom-implemented.
307 
308  template <class InputIterator>
309  inline void insert(iterator position, InputIterator first, InputIterator last)
310  {
311  for(;first != last; ++first)
312  position = insert(position, *first);
313  }
314 
315  inline void push_front(element_type& e)
316  { insert(begin(), e); }
317  inline void push_back(element_type& e)
318  { insert(end(), e); }
319 
322  void remove(const_reference child);
323  void remove(Widget& w);
324 
325  void reorder(iterator loc, iterator page); // Non-standard
326 
327  iterator find(int num);
331 
332  inline void pop_front()
333  { erase(begin()); }
334  inline void pop_back()
335  { erase(--end()); }
336 
337  void clear();
338 #endif // GTKMM_DISABLE_DEPRECATED
339 
340 
341 protected:
342  iterator begin_() const;
343  iterator end_() const;
344 
346 };
347 
348 } // Notebook_Helpers
349 
359 class Notebook : public Container
360 {
361  public:
362 #ifndef DOXYGEN_SHOULD_SKIP_THIS
363  typedef Notebook CppObjectType;
364  typedef Notebook_Class CppClassType;
365  typedef GtkNotebook BaseObjectType;
366  typedef GtkNotebookClass BaseClassType;
367 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
368 
369  virtual ~Notebook();
370 
371 #ifndef DOXYGEN_SHOULD_SKIP_THIS
372 
373 private:
374  friend class Notebook_Class;
375  static CppClassType notebook_class_;
376 
377  // noncopyable
378  Notebook(const Notebook&);
379  Notebook& operator=(const Notebook&);
380 
381 protected:
382  explicit Notebook(const Glib::ConstructParams& construct_params);
383  explicit Notebook(GtkNotebook* castitem);
384 
385 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
386 
387 public:
388 #ifndef DOXYGEN_SHOULD_SKIP_THIS
389  static GType get_type() G_GNUC_CONST;
390 
391 
392  static GType get_base_type() G_GNUC_CONST;
393 #endif
394 
396  GtkNotebook* gobj() { return reinterpret_cast<GtkNotebook*>(gobject_); }
397 
399  const GtkNotebook* gobj() const { return reinterpret_cast<GtkNotebook*>(gobject_); }
400 
401 
402 public:
403  //C++ methods used to invoke GTK+ virtual functions:
404 
405 protected:
406  //GTK+ Virtual Functions (override these to change behaviour):
407 
408  //Default Signal Handlers::
410  virtual void on_switch_page(GtkNotebookPage* page, guint page_num);
411 
412 
413 private:
414 
415 
416 public:
417 
418 //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.
422 
423 
425 
426 
432  int prepend_page(Widget& child, Widget& tab_label);
433  int prepend_page(Widget& child);
434 
435  int prepend_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic = false);
436 
445  int prepend_page(Widget& child, Widget& tab_label, Widget& menu_label);
446  //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
447 
448  int prepend_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic);
449 
450 
456  int append_page(Widget& child, Widget& tab_label);
457  int append_page(Widget& child);
458  int append_page(Widget& child, const Glib::ustring& tab_label, bool use_mnemonic = false);
459 
460 
469  int append_page(Widget& child, Widget& tab_label, Widget& menu_label);
470  //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
471 
472  int append_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, bool use_mnemonic = false);
473 
474 
482  int insert_page(Widget& child, Widget& tab_label, int position);
483  int insert_page(Widget& child, int position);
484 
485  int insert_page(Widget& child, const Glib::ustring& tab_label, int position, bool use_mnemonic = false);
486 
497  int insert_page(Widget& child, Widget& tab_label, Widget& menu_label, int position);
498  //Ignore the possible-0 menu_label version of this method. It would have the same signature as another method.
499 
500  int insert_page(Widget& child, const Glib::ustring& tab_label, const Glib::ustring& menu_label, int position, bool use_mnemonic = false);
501 
502 
510  void remove_page(int page_num = 0);
511  void remove_page(Widget& child);
512 
513 #ifndef GTKMM_DISABLE_DEPRECATED
514 
518  typedef sigc::slot<Notebook*, Widget*, int, int> SlotWindowCreation;
519 
523 
524 #endif // GTKMM_DISABLE_DEPRECATED
525 
526 
527 #ifndef GTKMM_DISABLE_DEPRECATED
528 
537  void set_group_id(int group_id);
538 #endif // GTKMM_DISABLE_DEPRECATED
539 
540 
541 #ifndef GTKMM_DISABLE_DEPRECATED
542 
548  int get_group_id() const;
549 #endif // GTKMM_DISABLE_DEPRECATED
550 
551 
552  //TODO: Use something nicer than void*/gpointer?
553 
554 #ifndef GTKMM_DISABLE_DEPRECATED
555 
565  void set_group(void* group);
566 #endif // GTKMM_DISABLE_DEPRECATED
567 
568 
569 #ifndef GTKMM_DISABLE_DEPRECATED
570 
578  void* get_group();
579 #endif // GTKMM_DISABLE_DEPRECATED
580 
581 
582 #ifndef GTKMM_DISABLE_DEPRECATED
583 
591  const void* get_group() const;
592 #endif // GTKMM_DISABLE_DEPRECATED
593 
594 
603  void set_group_name(const Glib::ustring& group_name);
604 
614  Glib::ustring get_group_name() const;
615 
616 
623  int get_current_page() const;
624 
633 
641  const Widget* get_nth_page(int page_num) const;
642 
643 #ifndef GTKMM_DISABLE_DEPRECATED
644 
651  int get_n_pages();
652 #endif // GTKMM_DISABLE_DEPRECATED
653 
654 
659  int get_n_pages() const;
660  /*Widget* get_current_page();*/ /*inconsistency with set_current_page*/
661 
662 #ifndef GTKMM_DISABLE_DEPRECATED
663 
673  int page_num(const Widget& child);
674 #endif // GTKMM_DISABLE_DEPRECATED
675 
676 
684  int page_num(const Widget& child) const;
685 
686 
700 
704  void next_page();
705 
709  void prev_page();
710 
711 
718  void set_show_border(bool show_border = true);
719 
720 
726  bool get_show_border() const;
727 
732  void set_show_tabs(bool show_tabs = true);
733 
739  bool get_show_tabs() const;
740 
741 
748 
755 
756 
762  void set_scrollable(bool scrollable = true);
763 
769  bool get_scrollable() const;
770 
771 
776  guint16 get_tab_hborder() const;
777 
782  guint16 get_tab_vborder() const;
783 
784 
788  void popup_enable();
789 
790 
794 
795 
804 
812  const Widget* get_tab_label(Widget& child) const;
813 
821  void set_tab_label(Widget& child, Widget& tab_label);
822 
829  void set_tab_label_text(Widget& child, const Glib::ustring& tab_text);
830 
837  Glib::ustring get_tab_label_text(Widget& child) const;
838 
847 
855  const Widget* get_menu_label(Widget& child) const;
856 
862  void set_menu_label(Widget& child, Widget& menu_label);
863 
869  void set_menu_label_text(Widget& child, const Glib::ustring& menu_text);
870 
877  Glib::ustring get_menu_label_text(Widget& child) const;
878 
879  #ifndef GTKMM_DISABLE_DEPRECATED
880 
883  void query_tab_label_packing(Widget& child, bool& expand, bool& fill, PackType& pack_type);
884 
885  #endif // GTKMM_DISABLE_DEPRECATED
886 
887 
888 #ifndef GTKMM_DISABLE_DEPRECATED
889 
904  void set_tab_label_packing(Widget& child, bool expand, bool fill, PackType pack_type);
905 #endif // GTKMM_DISABLE_DEPRECATED
906 
907 
916  void reorder_child(Widget& child, int position);
917 
918 
924  bool get_tab_reorderable(Widget& child) const;
925 
932  void set_tab_reorderable(Widget& child, bool reorderable = true);
933 
939  bool get_tab_detachable(Widget& child) const;
940 
962  void set_tab_detachable(Widget& child, bool detachable = true);
963 
964 
972 
983  void set_action_widget(Widget* widget, PackType pack_type = PACK_START);
984 
985 #ifndef GTKMM_DISABLE_DEPRECATED
986 
990 
994 
997  const PageList& pages() const;
998 #endif // GTKMM_DISABLE_DEPRECATED
999 
1000 
1007  Glib::SignalProxy2< void,GtkNotebookPage*,guint > signal_switch_page();
1008 
1009 
1016  Glib::SignalProxy2< void,Widget*,guint > signal_page_reordered();
1017 
1018 
1025  Glib::SignalProxy2< void,Widget*,guint > signal_page_removed();
1026 
1027 
1034  Glib::SignalProxy2< void,Widget*,guint > signal_page_added();
1035 
1036 
1037  //Key-binding signals:
1038 
1039 
1040  //This doesn't seem generally useful:
1041 
1042 
1048  Glib::PropertyProxy< PositionType > property_tab_pos() ;
1049 
1055  Glib::PropertyProxy_ReadOnly< PositionType > property_tab_pos() const;
1056 
1062  Glib::PropertyProxy< bool > property_show_tabs() ;
1063 
1069  Glib::PropertyProxy_ReadOnly< bool > property_show_tabs() const;
1070 
1076  Glib::PropertyProxy< bool > property_show_border() ;
1077 
1083  Glib::PropertyProxy_ReadOnly< bool > property_show_border() const;
1084 
1090  Glib::PropertyProxy< bool > property_scrollable() ;
1091 
1097  Glib::PropertyProxy_ReadOnly< bool > property_scrollable() const;
1098 
1104  Glib::PropertyProxy_WriteOnly< guint > property_tab_border() ;
1105 
1106 
1112  Glib::PropertyProxy< guint > property_tab_hborder() ;
1113 
1119  Glib::PropertyProxy_ReadOnly< guint > property_tab_hborder() const;
1120 
1126  Glib::PropertyProxy< guint > property_tab_vborder() ;
1127 
1133  Glib::PropertyProxy_ReadOnly< guint > property_tab_vborder() const;
1134 
1140  Glib::PropertyProxy< int > property_page() ;
1141 
1147  Glib::PropertyProxy_ReadOnly< int > property_page() const;
1148 
1154  Glib::PropertyProxy< bool > property_enable_popup() ;
1155 
1161  Glib::PropertyProxy_ReadOnly< bool > property_enable_popup() const;
1162 
1168  Glib::PropertyProxy< bool > property_homogeneous() ;
1169 
1175  Glib::PropertyProxy_ReadOnly< bool > property_homogeneous() const;
1176 
1182  Glib::PropertyProxy< int > property_group_id() ;
1183 
1189  Glib::PropertyProxy_ReadOnly< int > property_group_id() const;
1190 
1196  Glib::PropertyProxy< void* > property_group() ;
1197 
1203  Glib::PropertyProxy_ReadOnly< void* > property_group() const;
1204  //TODO: What is this?
1205 
1206 protected:
1207 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1210  mutable PageList pages_proxy_;
1211 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
1212 
1213 
1214 };
1215 
1216 #ifndef DOXYGEN_SHOULD_SKIP_THIS
1217 
1218 namespace Notebook_Helpers
1219 {
1220 
1221 /**** PageIterator **************************************************/
1222 
1223 inline
1225 {
1226  return static_cast<const Page&>(*this);
1227 }
1228 
1229 inline
1231 {
1232  return static_cast<const Page*>(this);
1233 }
1234 
1235 } // namespace Notebook_Helpers
1236 
1237 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
1238 
1239 } // namespace Gtk
1240 
1241 
1242 namespace Glib
1243 {
1252  Gtk::Notebook* wrap(GtkNotebook* object, bool take_copy = false);
1253 } //namespace Glib
1254 
1255 
1256 #endif /* _GTKMM_NOTEBOOK_H */
1257 
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:151
bool equal(const PageIterator &other) const
PageIterator(Gtk::Notebook *parent, GList *node)
Definition: notebook.h:128
const PageIterator operator--(int)
std::bidirectional_iterator_tag iterator_category
Definition: notebook.h:120
bool operator!=(const PageIterator &lhs, const PageIterator &rhs)
Definition: notebook.h:155
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:315
void remove(const_reference child)
Glib::List_ConstIterator< iterator > const_iterator
Definition: notebook.h:262
const_iterator begin() const
Definition: notebook.h:286
const_reverse_iterator rbegin() const
Definition: notebook.h:296
PageList & operator=(const PageList &src)
PageList(const PageList &src)
const GtkNotebook * gparent() const
Definition: notebook.h:273
void insert(iterator position, InputIterator first, InputIterator last)
Definition: notebook.h:309
Glib::List_ReverseIterator< iterator > reverse_iterator
Definition: notebook.h:263
Glib::List_ConstIterator< reverse_iterator > const_reverse_iterator
Definition: notebook.h:264
iterator find(const_reference c)
reverse_iterator rbegin()
Definition: notebook.h:291
const_iterator end() const
Definition: notebook.h:288
value_type operator[](size_type l) const
reverse_iterator rend()
Definition: notebook.h:293
const_reverse_iterator rend() const
Definition: notebook.h:298
void erase(iterator start, iterator stop)
void push_back(element_type &e)
Definition: notebook.h:317
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:518
const GtkNotebook * gobj() const
Provides access to the underlying C GtkObject.
Definition: notebook.h:399
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:421
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:396
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:61
@ NOTEBOOK_TAB_FIRST
Definition: notebook.h:62
@ NOTEBOOK_TAB_LAST
Definition: notebook.h:63
struct _GtkNotebookPage GtkNotebookPage
Definition: gtknotebook.h:58
PBD::PropertyDescriptor< timepos_t > start
Definition: ardour_ui.h:182
MenuElem(Widget &child, Widget &menu)
TabElem(Widget &child, Widget &tab)
TabElem(Widget &child, const Glib::ustring &label, bool mnemonic=false)
Definition: lobject.h:100