[Gtk-sharp-list] Notebook Suggestions

Rafael Teixeira monoman at gmail.com
Mon Jun 26 10:32:36 EDT 2006


Please, send the svn diffs of your work, including changelog entries,
to this list for comments and approval.

:)

On 6/26/06, Carlos J. Muentes <carlos at rockwithme.org> wrote:
> 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" <carlos at rockwithme.org>
> > Date: Wed, June 21, 2006 10:25 am
> > To: gtk-sharp-list at lists.ximian.com
> >
> > 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  -  Gtk-sharp-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>
> _______________________________________________
> Gtk-sharp-list maillist  -  Gtk-sharp-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>


-- 
Rafael "Monoman" Teixeira
---------------------------------------
"The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man." George Bernard Shaw


More information about the Gtk-sharp-list mailing list