Base class of gadgets that can edit text. More...
Public Types | |
enum | Update |
Layout update modes (see updateLayout()). | |
Public Member Functions | |
GTextItem & | clone (GClone const &) override |
Clones the gadget according to GClone argument. | |
bool | hasValue () const override |
Returns true if the gadget has a value. More... | |
virtual void | doAction () |
Perform on::action callbacks (the defaut action). | |
void | add (GMenu *) override |
Adds a menu, a window, a dialog box to the gadget. 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 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 GWindow * | getWindow () 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 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 | doPaint (GRenderGraphics &, GRender *parent_render) |
Paints the gadget. More... | |
virtual Gadget * | doPick (GPoint const &wpos, class GPickMode &) |
Returns the gadget the gadget that contains this point. More... | |
virtual void | onAdd (GBox *parent) |
Called when the gadget is added to a parent. | |
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. | |
GTextItem & | operator= (GString const &str) override |
Changes the value. | |
void | setValue (GString const &str) override |
selects or deselects the item if Gadget::istCheckable() is true. | |
void | add (GString const &) override |
Adds/replaces props. More... | |
GString | text () const override |
Returns the value as a string. | |
GString | stringValue () const override |
returns "true" if the item is selected, "false" otherwise. | |
virtual int | intValue () const |
Returns the value as a number. | |
GText & | operator() () |
Returns the associated GText property. More... | |
GProp * | valueProp () override |
Returns the prop that stores the gadget's value. More... | |
void | setAttributes (GTextAttributes *) |
Retreives/changes text attributes. | |
int | caretColumn () |
Retrieves the position of the caret. More... | |
void | setCaretColumn (int column) |
Changes the position of the caret. More... | |
ssize_t | caretIndex () const |
Returns or changes the index of the caret (position in bytes). More... | |
ssize_t | posToIndex (ssize_t charpos) const |
converts character position to byte position and vice-versa. More... | |
void | add (class GStateTransition &) |
Adds a callback function or a state transitions. More... | |
GString | typeName () const override |
Returns the name and ID of the gadget's type. | |
Gadget * | toGadget () override |
Class conversions. | |
virtual bool | contain (GProp *prop) const |
Returns true if the gadget contains this prop. | |
virtual GProp * | findProp (GPropType &) const |
Searches if the gadget contains a prop of this class or a derived class. More... | |
virtual GProp & | prop (GPropType &, bool in_css=false) |
Searches a prop of this class in the gadget and the CSS, and creates it if needed. 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... | |
Gadget & | catchEvents (bool=true) |
Checks/changes whether the gadget catches events. More... | |
Gadget & | ignoreEvents (bool=true) |
Checks/changes whether the gadget ignores events. More... | |
virtual Gadget & | check (bool=true) |
Checks/changes whether the gadget is checked (ie selected). More... | |
Gadget & | setCheckable (bool=true) |
Checks/changes whether the gadget is checkable (ie can be selected). More... | |
virtual Gadget & | enable (bool=true) |
Checks/change whether the gadget is enabled. More... | |
virtual Gadget & | show (bool=true) |
Checks or change whether the gadget is shown. More... | |
GBox * | getParent () 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 | move (GPoint const &) |
Changes the position (in pixels) of the gadget. More... | |
virtual void | resize (float w, float h) |
Changes the preferred size (in pixels) 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... | |
Base class of gadgets that can edit text.
The text is encoded in UTF8. Use Label if you don't need editable text and TextArea if you need multiple lines.
The text and the associated GText prop can be changed as follows (see GItem):
Props can be shared with other gadgets and bound together. GExpr allows creating textual expressions whose value results from a combination of Types.
|
stronginherited |
|
overridevirtual |
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.
Reimplemented from guit::Gadget.
GText & guit::GTextItem::operator() | ( | ) |
|
inlineoverridevirtual |
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 from guit::GItem.
int guit::GTextItem::caretColumn | ( | ) |
Retrieves the position of the caret.
Row and column start at 0 (row is 0 if there is only one row, e.g. in a TextField)
void guit::GTextItem::setCaretColumn | ( | int | column) |
Changes the position of the caret.
Line and column start at 0. The row argument is ignored in a TextField.
|
inline |
Returns or changes the index of the caret (position in bytes).
ssize_t guit::GTextItem::posToIndex | ( | ssize_t | charpos) | const |
converts character position to byte position and vice-versa.
|
inlineoverridevirtual |
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.
Reimplemented from guit::GItem.
|
overridevirtualinherited |
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).
Reimplemented from guit::Gadget.
|
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.
|
inherited |
Blinks the gadget, optionally showing a message.
Shows a message if message is not empty. The duration is in ms.
Searches if the gadget contains a prop of this class or a derived class.
The first version returns the prop as a GProp* if it is found, and null otherwise. In addition, the second version casts the returned prop to the desired type.
Searches a prop of this class in the gadget and the CSS, and creates it if needed.
This method always returns a mutable prop of the desired type:
|
inlineinherited |
Returns all props.
|
inherited |
Returns the props relative to this gadget in CSSs.
|
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).
|
virtualinherited |
Removes all props (including conditional props and callbacks).
|
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.
|
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).
|
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:
|
inherited |
Checks/changes whether the gadget ignores events.
The gadget and its descendants will then ignore all events.
|
virtualinherited |
Checks/changes whether the gadget is checked (ie selected).
check() has not effect if isCheckable() is false; see setCheckable().
|
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.
|
virtualinherited |
Checks/change whether the gadget is enabled.
|
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.
|
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.
|
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:
Reimplemented in guit::GWindow.
|
inlineinherited |
Returns the parent gadget.
|
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.
|
inlineinherited |
Returns the direction of the gadget.
The direction can be changed by adding a GFlow prop to the gadget.
|
virtualinherited |
Changes the position (in pixels) of the gadget.
This function is a shortcut that changes the value of the gadget's GPos prop (and adds a GPos to the gadget if it doesn't already have one). Importantly, the gadget won't be auto laid-out any longer if this function is called (or a GPos is directly added to the gadget).
Gadgets that are automatically laid out don't need a GPos. Gadgets that are positioned manually need a GPos that specifies their position and (optionally) their zlayer().
The position is relative to the parent gadget, or to the screen if the gadget is a GWindow. The zlayer() of auto-laid out gadgets is 0, the zlayer() of other gadgets is > 0 (see GPos).
A GPos prop can be directly added to a gadget as follows:
Adding a GPos rather than calling move() allows:
Reimplemented in guit::GLineShape.
|
virtualinherited |
Changes the preferred size (in pixels) of the gadget.
This function is a shortcut that changes the value of the gadgte's GSIze prop (and adds a GSize to the gadget if it doesn't already have one). The actual size of the gadget also depends on its GFlex prop and the GAlign prop of its parent.
The GSize prop can also be added directly by using the << operator (see move() for an example). Adding a GSize rather than calling resize() allows:
|
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.
|
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.
|
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).
|
inlineinherited |
Returns the position of the gadget in its containing window.
Return 0 if the gadget is a GWindow.
|
inherited |
|
inlineinherited |
Ckecks/changes whether the gadget is an internal (implementation-specific) object.
internal objects are ignored when inspecting, reading or writting gadgets.
|
virtualinherited |
Paints the gadget.
Repaints the gadget then fires on::paint callbacks. For instance, mycallback can be called to draw on the gadget as follows;
Reimplemented in guit::GBox, guit::GFreehandShape, guit::GLineShape, guit::GArcShape, guit::GOvalShape, guit::GValueItem, and guit::GRectShape.
Returns the gadget the gadget that contains this point.
The point is in window coordinates.
Reimplemented in guit::GBox, guit::GLineShape, guit::GArcShape, and guit::GOvalShape.
|
virtualinherited |
Prints an error message.
|
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.
|
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().