3. Widget types

The following table contains the full list of widgets. Most of widgets are simple. Description of the complex ones is below the table.

Table 2.4. Widget types

ConstantDescriptionAdditional widget dataCompliance
MT_BASEbackground of dialogs and windows GTK2
MT_WINDOW_BASEbackground of entries (Entry) GTK2
MT_BORDER_IN  GTK2, QT
MT_BORDER_OUT  GTK2, QT
MT_HLINE  GTK2, QT
MT_VLINE  GTK2, QT
MT_FOCUS_TAB  GTK2, QT
MT_FOCUS_CHECKBOX  GTK2
MT_RESIZE_GRIPresize grip in statusbar GTK2
MT_ARROW_UP  GTK2, QT
MT_ARROW_DOWN  GTK2, QT
MT_ARROW_LEFT  GTK2, QT
MT_ARROW_RIGHT  GTK2, QT
MT_BUTTONnormal button GTK2, QT
MT_BUTTON_DEFAULTdefault button GTK2, QT
MT_BUTTON_TOGGLEtoggle button GTK2, QT
MT_BUTTON_HEADERbutton in a header of listview GTK2, QT
MT_MENUmenu background and border GTK2, QT
MT_MENU_ITEMmenu item background and border GTK2, QT
MT_MENU_ITEM_CHECKcheck icon in menu item GTK2, QT
MT_MENU_ITEM_RADIOradio icon in menu item GTK2
MT_MENU_ITEM_ARROWarrow icon in menu item GTK2, QT
MT_MENU_ITEM_SEPARATORseparator in menu GTK2, QT
MT_MENU_TEAROFFtearoff in menuflags (MT_MENU_DETACHED)GTK2
MT_MENUBARmenubar background and border GTK2, QT
MT_MENUBAR_ITEMmenubar item background and border GTK2, QT
MT_TOOLBARtoolbar background and border GTK2, QT
MT_TOOLBAR_ITEMtoolbar item GTK2, QT
MT_TOOLBAR_ITEM_TOGGLEtoolbar toggle item GTK2, QT
MT_TOOLBAR_ITEM_DROPDOWNtoolbar dropdown itemflags (MT_TOOLBAR_ITEM_DROPDOWN_*)QT
MT_TOOLBAR_SEPARATORtoolbar separatororientation (of the whole toolbar)GTK2
MT_TOOLBAR_HANDLEtoolbar handleorientation (of the whole toolbar)GTK2, QT
MT_SCROLLBARscrollbar backgroundorientation, flags (MT_SCROLLBAR_*), handle_position, groove_size (used for handle_size)GTK2, QT
MT_SCROLLBAR_HANDLEscrollbar handleorientation, flags (MT_SCROLLBAR_*), handle_position, groove_sizeGTK2, QT
MT_SCROLLBAR_ARROW_UPscrollbar button with up arrowflags (MT_SCROLLBAR_*)GTK2, QT
MT_SCROLLBAR_ARROW_DOWNscrollbar button with down arrowflags (MT_SCROLLBAR_*)GTK2, QT
MT_SCROLLBAR_ARROW_LEFTscrollbar button with left arrowflags (MT_SCROLLBAR_*)GTK2, QT
MT_SCROLLBAR_ARROW_RIGHTscrollbar button with right arrowflags (MT_SCROLLBAR_*)GTK2, QT
MT_PROGRESSBARprogressbar background and borderorientation, flags (MT_PROGRESSBAR_*)GTK2, QT, SWING
MT_PROGRESSBAR_SLIDERprogressbar sliderorientation, flags (MT_PROGRESSBAR_*)GTK2, QT, SWING
MT_NOTEBOOKnotebook background and bordergap_x, gap_width, gap_position (currently, all are zeros in QT)GTK2, QT
MT_NOTEBOOK_TABnotebook tabgap_position, flags (MT_NOTEBOOK_*)GTK2, QT
MT_NOTEBOOK_ARROW_LEFTbutton with left arrow QT
MT_NOTEBOOK_ARROW_RIGHTbutton with right arrow QT
MT_RADIO_BUTTONwhole radio widget with label GTK2
MT_CHECK_BUTTONwhole check widget with label GTK2
MT_CHECK_BOXcheck icon in check widgetflags (MT_DRAW_MASK)GTK2, QT
MT_RADIO_BOXradio icon in radio widgetflags (MT_DRAW_MASK)GTK2, QT
MT_CHECK_CELLcheck icon in cell GTK2, QT
MT_RADIO_CELLradio icon in cell GTK2, QT
MT_CHOICEbackground and border of input area GTK2, QT
MT_CHOICE_BUTTONbackground and border of the popup button part GTK2, QT
MT_SCALE orientationGTK2, QT
MT_SCALE_HANDLE orientationGTK2, QT
MT_STATUSBAR_SECTIONstatusbar section GTK2, QT
MT_STATICBOX gap_x, gap_width (currently, both are zeros in QT)GTK2, QT
MT_SPINBUTTONbackground and border of input area in spinbutton GTK2, QT
MT_SPINBUTTON_UPbutton with up arrow in spin widgetflags (MT_SPINBUTTON_*)GTK2, QT
MT_SPINBUTTON_DOWNbutton with down arrow in spin widgetflags (MT_SPINBUTTON_*)GTK2, QT
MT_ENTRYinner background of entry GTK2, QT
MT_ENTRY_BORDERborder around entry GTK2, QT
MT_SCROLLED_WINDOWborder around scrolled window GTK2
MT_TOOLTIPtooltip background and border GTK2
MT_SPLITTERsplitterorientationGTK2, QT

3.1. Description of complex widgets

3.1.1. MT_SCROLLBAR

Figure 2.1. Scrollbar overview

Scrollbar overview

Scrollbars are divided into three parts:

  1. Background of the entire scrollbar widget (MT_SCROLLBAR)

  2. Buttons with arrows at opposite sides (MT_SCROLLBAR_ARROW_*)

  3. Scrollbar handle (MT_SCROLLBAR_HANDLE)

3.1.2. MT_NOTEBOOK

Figure 2.2. Notebook overview

Notebook overview

The notebook is divided into two main parts:

  1. Tab bar area

    This area contains tabs which are left aligned. Tabs can overlap a little.

    If there are more tabs than can be visible, then there are slider buttons at right. Some toolkits (like Java/SWING) can have more tab rows instead of this, but active tab is always in the bottom row.

  2. Border with content

    This is a simple border with gap for tabs.

3.1.3. MT_CHOICE

This widget is splitted into two parts. The first at left and the second at right. The right part has fixed width defined by the MT_CHOICE_BUTTON_WIDTH metric.

3.1.4. MT_SPINBUTTON

This widget is also splitted into two parts like MT_CHOICE. The difference is that right part is again splitted into the next two parts, one for the up arrow and the second for the down arrow. They both have half height of the entire widget.