RE: GTK+ modularization


Newbee here so forgive me if this has already been discussed.

If you allow things to be selectively compiled in you will destroy it's
value as a graphic platform.  What I mean is every device will have a
different widget set.  If you make a couple or three of standard subsets
then its more likely people will write public domain (PD) apps that are
useful.  You don't have to fix'em to use them on a different platform.
Just make sure the app requires the subset you have.  Better yet have 3
widget subset where each is a super set of the previous one.

Embedded does already have a bit of a PD eco system.  Everybody uses
stuff like busy-box.

--David Moffatt

-----Original Message-----
From: gtk-devel-list-bounces gnome org
[mailto:gtk-devel-list-bounces gnome org] On Behalf Of Mike Emmel
Sent: Thursday, July 13, 2006 6:00 PM
To: gtk-devel-list gnome org
Subject: Re: GTK+ modularization

Can I suggest considering a version designed for custom widgets.
And leave it to the embedded developer to selectivley pull in more

This would be GtkWindow GdkBin  GtkButton and a few more say text input.
basically a very simple toolkit.

After this if you want to use gtk custom widgets are probably the best
or bringing in a subset.

So first you would define this core base of widgets that are "must
Then you need to group all the rest based on dependencies to allow
them to be selectively compiled in.
I'd not even include toolbars and menus for example in the base.

Here is my list of base classes


    GtkWindow - Toplevel which can contain other widgets

Display Widgets

    GtkImage - A widget displaying an image
    GtkLabel - A widget that displays a small to medium amount of text

Buttons and Toggles

    GtkButton - A widget that creates a signal when clicked on
    GtkCheckButton - Create widgets with a discrete toggle button
    GtkRadioButton - A choice from multiple check buttons
    GtkToggleButton - Create buttons which retain their state

Numeric/Text Data Entry

    GtkEntry - A single line text entry field

Multiline Text Editor

    Text Widget Overview - Overview of GtkTextBuffer, GtkTextView, and
    GtkTextIter - Text buffer iterator
    GtkTextMark - A position in the buffer preserved across buffer
    GtkTextBuffer - Stores attributed text for display in a GtkTextView
    GtkTextTag - A tag that can be applied to text in a GtkTextBuffer
    GtkTextTagTable - Collection of tags that can be used together
    GtkTextView - Widget that displays a GtkTextBuffer

Menus, Combo Box, Toolbar

    GtkComboBox - A widget used to choose from a list of items
    GtkComboBoxEntry - A text entry field with a dropdown list
    GtkMenu - A menu widget
    GtkMenuBar - A subclass widget for GtkMenuShell which holds
GtkMenuItem widgets
    GtkMenuItem - The widget used for item in menus
    GtkMenuShell - A base class for menu objects
    GtkImageMenuItem - A menu item with an icon
    GtkRadioMenuItem - A choice from multiple check menu items
    GtkCheckMenuItem - A menu item with a check box
    GtkSeparatorMenuItem - A separator used in menus

Layout Containers

    GtkFixed - A container which allows you to position widgets at
fixed coordinates
    GtkLayout - Infinite scrollable area containing child widgets
and/or custom drawing


    GtkFrame - A bin with a decorative frame and optional label
    GtkHSeparator - A horizontal separator
    GtkVSeparator - A vertical separator


    GtkHScrollbar - A horizontal scrollbar
    GtkVScrollbar - A vertical scrollbar
    GtkScrolledWindow - Adds scrollbars to its child widget


    GtkDrawingArea - A widget for custom user interface elements
    GtkEventBox - A widget used to catch events for widgets which do
not have their own window

    GtkViewport - An adapter which makes widgets scrollable

Abstract Base Classes

    GtkBin - A container with just one child
    GtkBox - Base class for box containers
    GtkContainer - Base class for widgets which contain other widgets
    GtkItem - Abstract base class for GtkMenuItem, GtkListItem and
    GtkMisc - Base class for widgets with alignments and padding
    GtkObject - The base class of the GTK+ type hierarchy
    GtkScrollbar - Base class for GtkHScrollbar and GtkVScrollbar
    GtkSeparator - Base class for GtkHSeparator and GtkVSeparator
    GtkWidget - Base class for all widgets
gtk-devel-list mailing list
gtk-devel-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]