No one has gotten back to me on this. I wouldn't mind making the changes myself (I have other ideas too, including some for the TreeView control), I would like to know how I can contribute these changes? I realize the Gtk mono controls are a managed implementation of the native gtk libraries, but perhaps it's time to stray away from the original implementation and head towards a cleaner implementation of some of these controls. How can I contribute?
> -------- Original Message -------- > Subject: [Gtk-sharp-list] Notebook Suggestions > From: "Carlos J. Muentes" <[EMAIL PROTECTED]> > Date: Wed, June 21, 2006 10:25 am > To: [email protected] > > I posted this to the mono mailing list, and someone mentioned I should > post it here instead, so this is _not_ a cross post =^): > > > I've been working with the Notebook control and there are some quirks > that I wouldn't mind seeing some changes to: > > > Tab Pages Exposed As A Collection > ================================== > > - Tab pages should be a collection, with that collection being exposed > as a property of an instance of NoteBook i.e.: > Notebook notebook = new NoteBook(); > notebook.TabPages.Add( "This is a new page" ); > TabPage tabpage = notebook.TabPages[0]; > tabpage.Text = "This is new text on the same tab page"; > > - The example brings me to my next point: Tab page labels should be > added automatically, and exposed as the "Text" or "Title" property for > a single tab page. In the example above, I am setting the "Text/Title" > property of a new page. > > Why expose a collection of tab pages > ===================================== > > Exposing the child tab pages in a Notebook as a collection would allow > things like: > > int i = notebook.TabPages.Count; > TabPage tabpage = notebook.TabPages["page1"]; > > And would eliminate (IMHO) ugly methods like: > > GetNthPage(), > GetTabLabel(), > > of which, GetNthPage is misleading because it doesn't even return the > NotebookPage, but returns an instance of Widget, which still cannot be > casted to a NotebookPage! > > Can Still Retain Advanced Label Functionality > ============================================= > > Perhaps for more advanced formatting, you can still expose the tabs > label as a Label property: > > TabPage tabpage = notebook.TabPages[0]; > tabPage.Label.RederIcon(...); > > Reference To Current TabPage, Not Index Of > ========================================= > > The Page property is also misleading; it should > not return the index of the active page, but rather should return a > reference to the active page: > > notebook.Page.Text = "Some new text for this tab(again)"; > > Summary > ======================================== > > I think with these few changes to the Notebook, it can be a very > powerful tab-based container, and would propel it past the TabControl > control in .NET which (again IMHO) is much easier to work with and more > logically structured. > > _______________________________________________ > Gtk-sharp-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/gtk-sharp-list _______________________________________________ Gtk-sharp-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
