guit  0.1
 All Classes Functions Variables Typedefs Enumerations Friends
Public Types | Public Member Functions | List of all members
guit::GOvalShape Class Reference

Circle or Ellipse. More...

Inheritance diagram for guit::GOvalShape:
guit::GRectShape guit::GArcShape

Public Types

enum  Update
 Layout update modes (see updateLayout()).
 

Public Member Functions

GOvalShapeclone (GClone const &) override
 Clones the gadget according to GClone argument.
 
GPosposProp ()
 Returns the prop controlling the position of the GShape. More...
 
GSizesizeProp ()
 Returns the prop controlling the size of the GShape. More...
 
void blink (GString const &message="", GTime duration=350)
 Blinks the gadget, optionally showing a message. More...
 
GPropList const & props () const
 Returns all props. More...
 
void cssProps (class GPropMap &)
 Returns the props relative to this gadget in CSSs. More...
 
virtual GString text () const
 Returns the text of the gadget (if any). More...
 
virtual void removeProps ()
 Removes all props (including conditional props and callbacks). More...
 
virtual void cleanup ()
 Removes all props and children. More...
 
bool isMultiLine () const
 Returns true if gadget displays multiline text.
 
virtual void update ()
 Notifies the toolkit that this gadget needs to be repainted. More...
 
virtual void updateLayout (Update=Update::IfNeeded)
 Notifies the toolkit that the layout needs to be updated. More...
 
virtual GWindowgetWindow () const
 Returns the GWindow that contains the gadget (if any, null otherwise).
 
virtual bool isTopLevel () const
 Returns true if the gadget is a Window or a Menu.
 
virtual bool hasValue () const
 Returns true if the gadget has a value. More...
 
virtual GPropvalueProp ()
 Returns the prop that stores the gadget's value. More...
 
virtual GString stringValue () const
 Returns the gadget's value as a string. More...
 
virtual void setValue (GString const &value)
 Changes the gadget's value. More...
 
virtual void clearValues ()
 Clears the values of the gadget and its descendants. More...
 
int zlayer () const
 Returns the z-layer of the gadget. More...
 
GRect const & wframe ()
 Returns the frame (position and size) of the gadget in window coordinates.
 
virtual void keepInside (GBox &box, GPoint &point)
 Changes point to keep the gadget inside an ancestor when moving or resizing it.
 
virtual GHandle findHandle (GPoint const &wpos)
 Returns the handle that contains this position in window corrdinates.
 
bool isActive () const
 Returns true if the gadget is currently active (eg pressed).
 
GadgetModes const & modes () const
 Returns all gadget modes.
 
GEventType const & eventMask () const
 Returns the events (ORed mask) that the gadget takes into account.
 
virtual void doFire (GEvent &)
 Fires callbacks and conditional props (see GCond) that match this event.
 
virtual void onRemove (GBox *parent)
 Called when the gadget is removed from a parent.
 
void removeNotifiers (void *) override
 [Implementation] Notifies this object that it must no longer refer obj.
 
virtual void error (GString const &funname, GString const &message) const
 Prints an error message. More...
 
void operator delete (void *)
 delete does nothing, see GObject class.
 
void forgetSmartPointers ()
 Forgets all smart pointers pointing this object. More...
 
unsigned int useCount () const
 Returns the numbers of smart pointers referencing the object.
 
void doPaint (GRenderGraphics &, GRender *parent_render) override
 @ internal
 
GadgetdoPick (GPoint const &, GPickMode &) override
 Returns the gadget the gadget that contains this point. More...
 
GString typeName () const override
 Returns the name and ID of the gadget's type.
 
GadgettoGadget () override
 Class conversions.
 
virtual bool contain (GProp *prop) const
 Returns true if the gadget contains this prop.
 
virtual void add (GString const &str)
 Adds/replaces props. More...
 
void add (class GStateTransition &)
 Adds a callback function or a state transitions. More...
 
virtual void add (GMenu *child)
 Adds a menu, a window, a dialog box to the gadget. More...
 
bool remove (GProp *prop)
 Removes a prop (including conditional props and callbacks). More...
 
bool isRichText () const
 Checks/changes whether HTML-like tags are interpreted when displaying text. More...
 
GadgetcatchEvents (bool=true)
 Checks/changes whether the gadget catches events. More...
 
GadgetignoreEvents (bool=true)
 Checks/changes whether the gadget ignores events. More...
 
virtual Gadgetcheck (bool=true)
 Checks/changes whether the gadget is checked (ie selected). More...
 
GadgetsetCheckable (bool=true)
 Checks/changes whether the gadget is checkable (ie can be selected). More...
 
virtual Gadgetenable (bool=true)
 Checks/change whether the gadget is enabled. More...
 
virtual Gadgetshow (bool=true)
 Checks or change whether the gadget is shown. More...
 
GBoxgetParent () const
 Returns the parent gadget. More...
 
bool read (GString const &filename, GIOMode=GIOMode::Auto)
 Reads the values or the children of this gadget recursively.
 
bool write (GString const &filename, GIOMode) const
 Writes the values or the children of this gadget recursively.
 
bool isColumn () const
 Returns the direction of the gadget. More...
 
virtual void reshapeInteractively ()
 Allows reshaping a gadget interactivelly. More...
 
virtual GPoint pos () const
 Returns the position of the gadget in its parent. More...
 
GPoint wpos () const
 Returns the position of the gadget in its containing window. More...
 
GPoint screenPos () const
 Returns the position of the gadget on the screen.
 
float w () const
 Returns the dimension (size) of the gadget.
 
float angleStart () const
 Returns/changes the starting angle and the extent when painting gadgets as pie slices. More...
 
bool isActivable () const
 Ckecks/changes whether the gadget can be active.
 
bool isDownActivable () const
 Ckecks/changes whether the gadget is active on mouse down rather than mouse up.
 
bool isFocus () const
 Returns true if the gadget has/can have the focus.
 
bool isInternal () const
 Ckecks/changes whether the gadget is an internal (implementation-specific) object. More...
 
template<class Subclass >
Subclass * to ()
 Class conversions.
 
void ignoreSmartPointers ()
 Checks/sets whether this object can be auto-deleted by smart pointers. More...
 
enum  Place : int8_t
 Placement of the gadget in a GBox parent. More...
 
gptr< GPospos_
 @ internal
 

Detailed Description

Circle or Ellipse.

Member Enumeration Documentation

enum guit::Gadget::Place : int8_t
stronginherited

Placement of the gadget in a GBox parent.

When adedd to a GBox, the placement of the gadget depends on its place() method:

  • Place::Content means it is added to the content area of the box
  • other values means it is added to the border of the box (e.g. Place::Top for a title or a menubar)

Member Function Documentation

Gadget * guit::GOvalShape::doPick ( GPoint const &  wpos,
GPickMode &  pm 
)
overridevirtual

Returns the gadget the gadget that contains this point.

The point is in window coordinates.

See Also
GBox::childAtPos() and GBox::childAtWPos()

Reimplemented from guit::Gadget.

Reimplemented in guit::GArcShape.

GPos & guit::GShape::posProp ( )
inherited

Returns the prop controlling the position of the GShape.

Returns the same prop as prop<GPos>(). This prop can be changed just by adding a new GPos to the GShape, ie: shape << new GPos(x,y);

GSize & guit::GShape::sizeProp ( )
inherited

Returns the prop controlling the size of the GShape.

Returns the same prop as prop<GSize>(). This prop can be changed just by adding a new GSize to the GShape, ie: shape << new GSize(w,h);

void guit::Gadget::blink ( GString const &  message = "",
GTime  duration = 350 
)
inherited

Blinks the gadget, optionally showing a message.

Shows a message if message is not empty. The duration is in ms.

GPropList const& guit::Gadget::props ( ) const
inlineinherited

Returns all props.

Note
Does not return the props relative to the gadget that are defined in CSS styles (see cssProps() for this purpose), except those that are defined in inline styles, eg in: Button( "{color:red; font:bold} DoIt" )
void guit::Gadget::cssProps ( class GPropMap &  props)
inherited

Returns the props relative to this gadget in CSSs.

Note
Does not return the props that belong to the gadget (see props() for this purpose), except those that are defined in inline styles, eg in: Button( "{color:red; font:bold} DoIt" )
GString guit::Gadget::text ( ) const
virtualinherited

Returns the text of the gadget (if any).

Returns the text of gadgets that display text, e.g. Item, Label, Button, TextField, etc., and an empty string otherwise.

Reimplemented in guit::GItem, and guit::GTextItem.

void guit::Gadget::add ( GString const &  str)
virtualinherited

Adds/replaces props.

operator<<() provides a more convenient API: a << b << c adds b and c to a. The appropriate adding function is automatically called.

Note
These methods do not just adds props, they also replaces them if the added prop has the same role (GProp::role()) as an existing gadget's prop. For instance, if the gadget has a GColor prop, adding a new GColor to it will replace the previous one.
Replacing a prop will delete the old prop if it does not belong to another gadget and is not gptr-pointed elsewhere (see gptr<> smart pointer)
When a GPropList (list of props) is given as an argument, each of it elements is added in sequence.
See Also
Gadget, GProp, GCond (conditional props).

Reimplemented in guit::GBox, and guit::GTextItem.

void guit::Gadget::add ( class GStateTransition trans)
inherited

Adds a callback function or a state transitions.

operator<<() provides a more convenient API: a << b << c adds b and c to a. The appropriate adding function is automatically called.

Note
The default on::action triggers of the gadget is used. For instance, the callback will be called if a GButton is clicked, if a GCheckItem is checked or unchecked, if a GRadioItem belonging to a box that performs exclusive selection is checked.
void guit::Gadget::add ( GMenu child)
virtualinherited

Adds a menu, a window, a dialog box to the gadget.

operator<<() provides a more convenient API: a << b << c adds b and c to a. The appropriate adding function is automatically called.

If the gadget is a GItem or GButton, the GMenu, GWindow, GDialog given as an argument will be automatically opened when pressing the mouse on the item (GMenu) or clicking it (GWindow, GDialog).

Note
Only one GMenu can be added to a gadget. If another menu is added, it will replace the previous one.

Reimplemented in guit::GItem, and guit::GMenuBar.

bool guit::Gadget::remove ( GProp prop)
inherited

Removes a prop (including conditional props and callbacks).

Returns true if the prop was actually removed (i.e. if it was belonging to the gadget).

Note
Removing a prop will delete it if it does not belong to another gadget and is not gptr-pointed elsewhere (see gptr<> smart pointer)
See Also
Gadget, GProp, GCond (conditional props).
void guit::Gadget::removeProps ( )
virtualinherited

Removes all props (including conditional props and callbacks).

Note
Beware that the removed props will be auto-deleted if not gptr-referenced elsewhere (see Gadget).
void guit::Gadget::cleanup ( )
virtualinherited

Removes all props and children.

This method also removes children if the gadget has children (i.e. if the class derives from GBox).

Reimplemented in guit::GBox.

bool guit::Gadget::isRichText ( ) const
inlineinherited

Checks/changes whether HTML-like tags are interpreted when displaying text.

HTML-like tags such as <b>, <i>, etc. will be interpreted when rendering text. This option is true by default, except for gadgets that edit text (e.g. TextField and TextArea).

Gadget & guit::Gadget::catchEvents ( bool  val = true)
inherited

Checks/changes whether the gadget catches events.

The gadget will receive events that should have been received by its descendants. The received GEvent will be set so that:

  • GEvent::gadget() will return the gadget
  • GEvent::item() will return the descendant that should have received the event.
Gadget & guit::Gadget::ignoreEvents ( bool  val = true)
inherited

Checks/changes whether the gadget ignores events.

The gadget and its descendants will then ignore all events.

Gadget & guit::Gadget::check ( bool  state = true)
virtualinherited

Checks/changes whether the gadget is checked (ie selected).

check() has not effect if isCheckable() is false; see setCheckable().

Gadget & guit::Gadget::setCheckable ( bool  s = true)
inherited

Checks/changes whether the gadget is checkable (ie can be selected).

setCheckable(true) makes any gadget checkable. Some gadgets (e.g. GCheckItem, GRadioItem) are checkable by default, but most others are not.

Gadget & guit::Gadget::enable ( bool  state = true)
virtualinherited

Checks/change whether the gadget is enabled.

  • enable() sets isSelfEnabled() to true or false
  • isTrulyEnabled() is true if the gadget and all its ancestors ar isSelfEnabled().
Gadget & guit::Gadget::show ( bool  state = true)
virtualinherited

Checks or change whether the gadget is shown.

isShown() does mean that the gadget is shown, but that it will be shown if all its ancesters are shown

Reimplemented in guit::GInfoDialog, guit::GWindow, guit::GDialog, guit::GFileDialog, guit::GInspector, and guit::GMenu.

void guit::Gadget::update ( )
virtualinherited

Notifies the toolkit that this gadget needs to be repainted.

The gadget is not repainted immediately, but after executing callback functions. The doPaint() method is then called.

Reimplemented in guit::GWindow.

void guit::Gadget::updateLayout ( Update  mode = Update::IfNeeded)
virtualinherited

Notifies the toolkit that the layout needs to be updated.

By default (UpdateIfNeeded mode) the layout is not updated immediately, but after executing callback functions, and before repainting the gadget by calling doPaint().

Possible arguments are:

  • IfNeeded (default): the layout is updated if the toolkit thinks this is needed
  • Needed: the layout is always updated
  • Now: the layout is updated immediately. Sometimes needed but CPU inefficient

Reimplemented in guit::GWindow.

GBox* guit::Gadget::getParent ( ) const
inlineinherited

Returns the parent gadget.

  • getParent() returns the gadget's parent if it derives from GBox, and null if no parent or not a box.
  • getPseudoParent() returns the gadget's parent whatever its type. Displayed gadgets have a non-null parent that derives from GBox, except toplevel gadgets (GMenu, GWindow, GDialog, etc.) which parent can be null or can be any gadget.
virtual bool guit::Gadget::hasValue ( ) const
inlinevirtualinherited

Returns true if the gadget has a value.

Gadgets such as TextField, Slider, ChartItem, ChoiceBox, OptionBox, ComboBox have a value. This methods then returns true, and false otherwise.

See Also
stringValue() and setValue().

Reimplemented in guit::GTextItem, guit::GChoiceBox, guit::GItem, and guit::GValueItem.

virtual GProp* guit::Gadget::valueProp ( )
inlinevirtualinherited

Returns the prop that stores the gadget's value.

If the gadget has a value (see hasValue()) this method returns the prop storing the value. Otherwise it returns null.

Reimplemented in guit::GChoiceBox, guit::GItem, guit::GTextItem, guit::GBox, and guit::GValueItem.

virtual GString guit::Gadget::stringValue ( ) const
inlinevirtualinherited

Returns the gadget's value as a string.

If the gadget has a value (see hasValue()) this method returns the gadget value converted to a string. Otherwise it returns the empty string.

Reimplemented in guit::GChoiceBox, guit::GItem, guit::GTextItem, guit::GValueItem, and guit::GFileDialog.

virtual void guit::Gadget::setValue ( GString const &  value)
inlinevirtualinherited

Changes the gadget's value.

If the gadget has a value (see hasValue()) this method changes the gadget value after converting value to the appropriate type. Otherwise it has no effect.

Reimplemented in guit::GBox, guit::GChoiceBox, guit::GItem, guit::GTextItem, and guit::GValueItem.

void guit::Gadget::clearValues ( )
virtualinherited

Clears the values of the gadget and its descendants.

Clearing means setting to the default value (0 for numbers, the empty string for strings, etc.)

Reimplemented in guit::GBox.

bool guit::Gadget::isColumn ( ) const
inlineinherited

Returns the direction of the gadget.

The direction can be changed by adding a GFlow prop to the gadget.

void guit::Gadget::reshapeInteractively ( )
virtualinherited

Allows reshaping a gadget interactivelly.

Adds the appropriate GPos and GSize props to the gadget so that it will display handles allowing to reshape it when it is checked. "Reshaping" both means changing the position and the size (e.g. when dragging left-side handles). The second version of this function allows reshaping a gadget just after instantiating it. The GMouseEvent argument typically corresponds to a mouse down event in a gadget that serves as a canvas for drawing other gadgets (or geometrical shapes, see GShape).

Reimplemented in guit::GLineShape.

GPoint guit::Gadget::pos ( ) const
virtualinherited

Returns the position of the gadget in its parent.

Return the position on the screen if the gadget is a GWindow,

Reimplemented in guit::GWindow, and guit::GMenu.

int guit::Gadget::zlayer ( ) const
inlineinherited

Returns the z-layer of the gadget.

The z-layer is 0 if the gadget is auto laid-out and > 0 otherwise (see GPos prop).

GPoint guit::Gadget::wpos ( ) const
inlineinherited

Returns the position of the gadget in its containing window.

Return 0 if the gadget is a GWindow.

float guit::Gadget::angleStart ( ) const
inherited

Returns/changes the starting angle and the extent when painting gadgets as pie slices.

GItem gadgets are drawn as pie slices when contained in a box with a GFlow::pie prop. This is typically used in pie charts (see GChart) and pie menus (see GPieMenu).

bool guit::Gadget::isInternal ( ) const
inlineinherited

Ckecks/changes whether the gadget is an internal (implementation-specific) object.

internal objects are ignored when inspecting, reading or writting gadgets.

void guit::GObject::error ( GString const &  funname,
GString const &  message 
) const
virtualinherited

Prints an error message.

See Also
GApp::onError() to change error management.
void guit::GObject::ignoreSmartPointers ( )
inlineinherited

Checks/sets whether this object can be auto-deleted by smart pointers.

ignoreSmartPointers() has a permanent effect, contrary to forgetSmartPointers(). Objects not created by calling new are never auto-deleted by smart pointers.

void guit::GObject::forgetSmartPointers ( )
inlineinherited

Forgets all smart pointers pointing this object.

The smart pointers that are currently pointing to the object won't auto-delete it. forgetSmartPointers() has a temporary effect, contrary to ignoreSmartPointers().


The documentation for this class was generated from the following files: