OpendTect  7.0
Classes
uiBase

Basic User Interface. More...

Classes

class  uiCurvedItem::ArcSpec
 
class  CmdRecStopper
 
class  FlareHelpProvider
 
class  i_LayoutItem
 Wrapper around QLayoutItem class. Stores some dGB specific layout info. More...
 
class  i_uiLayoutItem
 
class  ODQtObjectSet< OD, QT >
 
class  ReleaseNotesProvider
 
class  uiTable::SelectionRange
 
class  uiDialExtra::Setup
 
class  uiDialog::Setup
 description of properties of dialog. More...
 
class  uiColTabItem::Setup
 
class  uiColorInput::Setup
 
class  uiListBox::Setup
 
class  uiMainWin::Setup
 
class  uiSlider::Setup
 
class  uiTable::Setup
 
class  uiTreeViewItem::Setup
 
class  SimpleHelpProvider
 A simple HelpProvider that can be extended to create a HelpProvider for third party plug-ins. You need a urlbase string which can refer to a web URL (starting with "http://") or a local file path (starting with "file:///"). For linking the individual HelpKeys, you can either add links for specific keys using the function: More...
 
class  uiCurvedItem::SplineSpec
 
class  uiAction
 
class  uiActionContainer
 
class  uiActionSeparString
 
class  uiAdvancedTextItem
 
class  uiArrowItem
 
class  uiBaseObject
 
class  uiBody
 
class  uiBodyImpl< C, T >
 Simple delegating implementation of uiBody. More...
 
class  uiBorder
 
class  uiButton
 is the base class for all buttons. More...
 
class  uiButtonGroup
 
class  uiButtonMessenger
 Button Abstract Base class. More...
 
class  uiCalendar
 
class  uiCentralWidgetBody
 
class  uiCheckBox
 
class  uiCircleItem
 
class  uiClipboard
 
class  uiColorInput
 small element for color selection. Has no text label. More...
 
class  uiColTabItem
 
class  uiComboBox
 Combo box. More...
 
class  uiConstraint
 
class  uiCursorManager
 
class  uiCurvedItem
 
class  uiDateSel
 
class  uiDesktopServices
 
class  uiDial
 
class  uiDialExtra
 
class  uiDialog
 
class  uiDockWin
 
class  uiDynamicImageItem
 
class  uiEllipseItem
 
class  uiEventFilter
 is a class that is able to recieve events from Qt and trigger an OD-style notification/callback. More...
 
class  uiExtraIntKeyDesc
 
class  uiFileDialog
 Dialog to get a file or directory name from user. More...
 
class  uiFileSelector
 
class  uiFileSelectorSetup
 Setup for any file or directory selection process. More...
 
class  uiFileSelTool
 Selects file or directory in some form of UI. 1-1 coupled with a certain SystemAccess / protocol. More...
 
class  uiFileSelToolProvider
 provides file selector for a File::SystemAccess type More...
 
class  uiFloatValidator
 
class  uiFont
 
class  uiFontList
 
class  uiGraphicsItem
 
class  uiGraphicsItemGroup
 
class  uiGraphicsItemSet
 
class  uiGraphicsObjectScene
 
class  uiGraphicsScene
 
class  uiGraphicsSceneChanger
 
class  uiGraphicsViewBase
 
class  uiGraphicsViewMask
 
class  uiGroup
 
class  uiGroupObj
 
class  uiIcon
 Manager for icons of different sizes. More...
 
class  uiIntValidator
 
class  uiKeyDesc
 
class  uiLabel
 
class  uiLabeledComboBox
 
class  uiLabeledListBox
 uiLabeledListBox. Deprecated. Don't use in new code More...
 
class  uiLabeledSpinBox
 
class  uiLineEdit
 
class  uiLineItem
 
class  uiListBox
 
class  uiListBoxObj
 List Box. More...
 
class  uiMain
 
class  uiMainWin
 User interface main window. More...
 
class  uiMarkerItem
 
class  uiMdiArea
 
class  uiMdiAreaWindow
 
class  uiMenu
 
class  uiMenuBar
 
class  uiMouseEventBlockerByGestures
 
class  uiMsg
 
class  uiMsgMainWinSetter
 Sets the uiMSG's main window temporary during the scope of the object. More...
 
class  uiMultiColorPolyLineItem
 
class  uiObjBodyImpl< C, T >
 Default (Template) implementation of uiObjectBody. More...
 
class  uiObject
 The base class for most UI elements. More...
 
class  uiObjectBody
 
class  uiObjectItem
 
class  uiObjectStack
 
class  uiParent
 
class  uiParentBody
 
class  uiPixmap
 Off-screen pixel-based paint device. More...
 
class  uiPixmapItem
 
class  uiPointItem
 
class  uiPolygonItem
 
class  uiPolyLineItem
 
class  uiProgressBar
 
class  uiPushButton
 Push button. By default, assumes immediate action, not a dialog when pushed. The button text will in that case get an added " ..." to the text. In principle, it could also get another appearance. More...
 
class  uiRadioButton
 
class  uiRect
 
class  uiRectItem
 
class  uiRGBArray
 
class  uiRGBImageLoader
 
class  uiRubberBand
 
class  uiScrollArea
 
class  uiSeparator
 
class  uiShortcutsList
 
class  uiShortcutsMgr
 
class  uiSize
 
class  uiSlider
 
class  uiSliderObj
 
class  uiSpinBox
 
class  uiSplashScreen
 
class  uiSplitter
 Provides a splitter object. More...
 
class  uiStatusBar
 
class  uiSystemTrayIcon
 
class  uiTab
 
class  uiTabBar
 TabBar widget only. Normally you'd want to use the uiTabStack class. More...
 
class  uiTable
 
class  uiTableView
 
class  uiTabStack
 
class  uiTextBrowser
 
class  uiTextEdit
 
class  uiTextEditBase
 
class  uiTextItem
 
class  uiTextValidator
 
class  uiToolBar
 
class  uiToolButton
 
class  uiToolButtonSetup
 
class  uiTrayDialog
 
class  uiTreeView
 
class  uiTreeViewItem
 
class  uiTreeViewItemIterator
 
class  uiUserShowWait
 tells user something is happening. More...
 
class  uiVirtualKeyboard
 
class  uiWellSymbolItem
 
class  VideoProvider
 HelpProvider for videos. More...
 
class  WebsiteHelp
 

Detailed Description

Basic User Interface.

Introduction Basic User Interface

This module is a set of cooperating classes that enable creating User Interfaces. This layer on top of the already wonderful Qt package was created because of the following problems:

Therefore, as with most external libraries, we chose to make a new layer to combine the power of Qt with the flexibility of more generalised design principles.

Usage

The basic principles are:

The Qt window painting facilities are only used for quick sketching, the code generation capacity is not used. Example:

IntInpSpec spec( lastnrclasses );
spec.setLimits( Interval<int>( 0, 100 ) );
nrclassfld = new uiGenInput( this, "Number of classes", spec );

FloatInpSpec inpspec( lastratiotst*100 );
inpspec.setLimits( Interval<float>( 0, 100 ) );
perctstfld = new uiGenInput( this, "Percentage used for test set", inpspec );
perctstfld->attach( alignedBelow, nrclassfld );

defbut = new uiPushButton( this, "Default" );
defbut->activated.notify( mCB(this,ThisClass,setPercToDefault) );
defbut->attach( rightOf, perctstfld );

Note that all objects could have been made:

Design

In the uiBase directory, you'll find classes that directly communicate with Qt to implement (parts of) this strategy. To keep the header files uncoupled from the Qt header files, there is a mechanism where the 'ui' class has a 'ui'-Body class that is a subclass of a Qt class.

Almost every 'visible' object is a uiObject. Besides the different subclasses, there is also the uiGroup which is just another uiObject. The windows holding these are (like uiObjects) uiBaseObject's. The uiMainWin is a subclass, and the ubiquitous uiDialog.


Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2024