ubit
Public Member Functions | Static Public Member Functions | List of all members
ubit::UEdit Class Reference

Text editing and caret controller. More...

#include <uedit.hpp>

Inheritance diagram for ubit::UEdit:
ubit::UAttr ubit::UNode ubit::UObject

Public Member Functions

 UEdit ()
 creates a new UEdit property; More...
 
bool isEditable () const
 
UEditsetEditable (bool=true)
 get/set text editing mode
 
bool isCaretVisible () const
 
UEditsetCaretVisible (bool=true)
 get/set caret visibility.
 
UColorgetCaretColor () const
 
UEditsetCaretColor (UColor *)
 get/set the color used to render the caret. More...
 
long getCaretPos () const
 returns the caret position. More...
 
UEditsetCaretPos (long pos)
 changes the caret position. More...
 
long getCaretPos (UElem &container) const
 
UEditsetCaretPos (long pos, UElem &container)
 get/sets the caret position of a shared UEdit. More...
 
UStrgetCaretStr () const
 
UStrgetCaretStr (int &pos_in_str) const
 returns the UStr that contains the caret and the position of the caret in this string. More...
 
UEditsetCaretStr (UStr *str)
 
UEditsetCaretStr (UStr *str, int pos_in_str)
 sets the UStr that contains the caret and the position of the caret in this string. More...
 
USelectiongetSelection (UInputEvent &e, UStr &sel_text)
 
void deleteSelection (USelection *sel, UStr &sel_text, UElem &container)
 
void deletePreviousChar (UElem &container, UView *view)
 
void deleteChar (UElem &container, UView *view)
 
bool nextChar (UElem &container, UView *view)
 
bool previousChar (UElem &container, UView *view)
 
void beginningOfLine (UElem &container, UView *view)
 
void endOfLine (UElem &container, UView *view)
 
void previousLine (UElem &container, UView *view)
 
void nextLine (UElem &container, UView *view)
 [impl] moves the caret in the expected way. More...
 
virtual void update ()
 updates parents graphics.
 
virtual void putProp (UUpdateContext *, UElem &)
 [impl] changes corresponding value in the UUpdateContext
 
virtual void addingTo (UChild &, UElem &parent)
 called when this object is added to a parent.
 
virtual void removingFrom (UChild &, UElem &parent)
 called when this object is removed from a parent (SEE DETAILS IF YOU REDEFINE THIS METHOD). More...
 
void setCaretStr (UStr *, int pos_in_str, bool update, UView *view)
 
virtual float getXpos (UUpdateContext &, const URect &r) const
 
virtual void paint (UGraph &, UUpdateContext &, const URect &r) const
 
virtual float getXpos (UUpdateContext &, const URect &, int offset, int cellen) const
 
virtual void paint (UGraph &, UUpdateContext &, const URect &, int offset, int cellen) const
 
- Public Member Functions inherited from ubit::UAttr
 UAttr (UConst)
 
virtual UAttrtoAttr ()
 dynamic cast: returns this object if it derives from UAttr and null otherwise.
 
virtual const UAttrtoAttr () const
 dynamic cast: returns this object if it derives from UAttr and null otherwise.
 
virtual int getDisplayType () const
 
virtual int getNodeType () const
 returns the XML node type.
 
virtual const UStrgetNodeName () const
 returns the name of this attribute (calls getName()).
 
virtual UStr getNodeValue () const
 returns the value of this attribute (calls getValue()).
 
virtual const UStrgetName () const
 returns the name of this attribute.
 
virtual bool getValue (UStr &value) const
 gets the value of this attribute. More...
 
virtual void setValue (const UStr &value)
 changes the value of this attribute does nothing if not applicable for a given subclass.
 
virtual void initNode (UDoc *, UElem *parent)
 called when the document is created.
 
virtual UAttronChange (UCall &)
 adds a callback that is fired when the value of the property is modified. More...
 
UAttrsetConst ()
 
virtual void changed (bool update=true)
 [impl] called when object's content is changed. More...
 
- Public Member Functions inherited from ubit::UNode
virtual int isDisplayable () const
 
virtual UNodetoNode ()
 dynamic cast: returns this object if it derives from UNode and null otherwise.
 
virtual const UNodetoNode () const
 dynamic cast: returns this object if it derives from UNode and null otherwise.
 
virtual bool isChildOf (const UElem &parent, bool indirect=true) const
 returns true if this object a child of 'parent'. More...
 
UParentIter pbegin () const
 returns an iterator to the beginning of the list of direct parents. More...
 
UParentIter pend () const
 returns an iterator to the end of the parent list ( More...
 
virtual UParentsparents () const
 returns the list of direct parents ( More...
 
virtual UElemgetParent (int pos=0) const
 returns the Nth direct parent. More...
 
virtual bool hasSceneGraphParent () const
 
template<class CC >
CC * findParent () const
 < this object has at least one parent in the scene graph. More...
 
virtual int getBoxParents (std::vector< UBox *> &parvect) const
 retrieves direct and indirect parents that are boxes.
 
virtual UBoxgetParent (const UView *) const
 returns the direct or indirect parent that contains this view. More...
 
virtual UViewgetParentView (const UView *) const
 returns the direct or indirect parent's view that contains this view. More...
 
virtual UBoxgetParent (const UInputEvent &) const
 
virtual UViewgetParentView (const UInputEvent &) const
 
virtual void removeFromParents (bool update_parents=true)
 [impl] removes this object from all direct parents. More...
 
virtual bool fire (UEvent &) const
 fires callback functions that match this event.
 
virtual UNoderemoveAllAttrs (bool autodel=true)
 removes all attributes (if any, redefined by subclasses).
 
bool isAutoUpdate () const
 return current update policy: see setAutoUpdate().
 
UNodesetAutoUpdate (bool state=true)
 changes the update policy of this object when its is modified. More...
 
void fireParents (const UCond &c, UNode *n) const
 
void updateAutoParents (const UUpdate &m)
 
virtual void addChangeCall (UCall &)
 
virtual UElemgetSubGroup () const
 
void _addAttr (const UChild &attribute)
 [impl] to be removed @.
 
UChildIter _abegin () const
 [impl] to be removed @.
 
UChildIter _aend () const
 [impl] to be removed @.
 
- Public Member Functions inherited from ubit::UObject
 UObject (const UObject &)
 
UObjectoperator= (const UObject &)
 
virtual const UClassgetClass () const
 instance method that returns the metaclass of this object. More...
 
const UStrgetClassName () const
 returns getClass().getName().
 
virtual void error (const char *function_name, const char *format,...) const
 prints out an error message. More...
 
virtual void warning (const char *function_name, const char *format,...) const
 prints out a warning message: More...
 
bool isDeletable () const
 checks if this object can be destroyed by 'delete'. More...
 
bool isConst () const
 checks whether the content of this object can be modified ( More...
 
UObjectsetConst ()
 specifies that the content of this object cannot be modified. More...
 
bool isAutoUpdate () const
 return current update policy: More...
 
UObjectsetAutoUpdate (bool state=true)
 changes the update policy of this object when its is modified. More...
 
bool isIgnoringChangeCallbacks () const
 return true if change callbacks are fired.
 
UObjectignoreChangeCallbacks (bool state)
 change callbacks are not fired if argument is true.
 
virtual UElemtoElem ()
 dynamic cast: returns this object if it derives from UElem and null otherwise.
 
virtual const UElemtoElem () const
 dynamic cast: returns this object if it derives from UElem and null otherwise.
 
virtual UDatatoData ()
 dynamic cast: returns this object if it derives from UData and null otherwise.
 
virtual const UDatatoData () const
 dynamic cast: returns this object if it derives from UData and null otherwise.
 
virtual UStrtoStr ()
 dynamic cast: returns this object if it derives from UStr and null otherwise.
 
virtual const UStrtoStr () const
 dynamic cast: returns this object if it derives from UStr and null otherwise.
 
virtual UCalltoCall ()
 dynamic cast: returns this object if it derives from UCall and null otherwise.
 
virtual const UCalltoCall () const
 dynamic cast: returns this object if it derives from UCall and null otherwise.
 
virtual UBoxtoBox ()
 dynamic cast: returns this object if it derives from UBox and null otherwise.
 
virtual const UBoxtoBox () const
 dynamic cast: returns this object if it derives from UBox and null otherwise.
 
virtual UWintoWin ()
 dynamic cast: returns this object if it derives from UWin and null otherwise.
 
virtual const UWintoWin () const
 dynamic cast: returns this object if it derives from UWin and null otherwise.
 
virtual UMenutoMenu ()
 dynamic cast: returns this object if it derives from UMenu and null otherwise.
 
virtual const UMenutoMenu () const
 dynamic cast: returns this object if it derives from UMenu and null otherwise.
 
State getState () const
 returns the current object state.
 
void setState (State s)
 changes the object state.
 
PtrCount getPtrCount () const
 [impl] returns the number of uptr<> smart pointers that are pointing to this object.
 
bool checkConst () const
 [impl] produces an error if this object is logically constant ( More...
 
bool isDestructed () const
 [impl] this object has been destructed (but memory has not been freed yet).
 
bool isDestructing () const
 [impl] this object is being destructed (one of its destructors has been called).
 
void * operator new (size_t)
 < [impl] returns true if there is at least one scene graph parent (redefined by UNode). More...
 
void operator delete (void *)
 delete operator is forbidden on instances that derive from UObject.
 
void addPtr () const
 [Impl] a uptr is added to this object.
 
void removePtr () const
 [Impl] a uptr is removed from this object.
 

Static Public Member Functions

static UStrgetPreviousStr (UStr *from, UElem &container)
 
static UStrgetNextStr (UStr *from, UElem &container)
 [unstable] returns the string before/after 'from' in this 'container'. More...
 
static UStrgetParagraphFirstStr (UStr *from, int &pos, UElem &container)
 
static UStrgetParagraphLastStr (UStr *from, int &pos, UElem &container)
 [unstable] returns the first/last string in the same paragraph than 'from'. More...
 
- Static Public Member Functions inherited from ubit::UObject
static const char * getVersion ()
 returns the version of the Ubit package.
 
static const UClassClass ()
 class method that returns the metaclass of this class. More...
 
static UStylecreateStyle ()
 

Additional Inherited Members

- Public Types inherited from ubit::UNode
enum  NodeType {
  ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3, CDATA_SECTION_NODE = 4,
  ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = 8,
  DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = 12
}
 redefines Class() and getClass() methods ( More...
 
enum  DisplayType {
  WINLIST =-1, UNDISPLAYBLE =0, ATTRIBUTE, DATA,
  INLINE, BLOCK, BORDER, HARDWIN,
  SOFTWIN
}
 Ubit display types.
 
- Public Types inherited from ubit::UObject
typedef unsigned char State
 
typedef short PtrCount
 
- Static Public Attributes inherited from ubit::UObject
static UConst UCONST
 UCONST can be given as an argument to some constructors to make the object constant. More...
 
- Protected Member Functions inherited from ubit::UNode
 UNode ()
 constructor, can anly be called by subclasses because UNode is abstract.
 
virtual ~UNode ()
 destructor, note that children are recursively destroyed except if pointed elsewhere ( More...
 
virtual void destructs ()
 unlinks the object from its parents and destroys its children.
 
- Protected Attributes inherited from ubit::UNode
UParents _parents
 
UChildren _attributes
 
- Protected Attributes inherited from ubit::UObject
PtrCount ptr_count
 
Modes omodes
 
State ostate
 

Detailed Description

Text editing and caret controller.

exemple:

  UStr& str = ustr("abcd");
  UBox& box = ubox(uedit() + str);

makes'str' editable inside container 'box'

Constructor & Destructor Documentation

§ UEdit()

NAMESPACE_UBIT UEdit::UEdit ( )

creates a new UEdit property;

See also
also shortcut uedit().

Member Function Documentation

§ getCaretPos()

long UEdit::getCaretPos ( ) const

returns the caret position.

NOTE that
chars are not visible but count for 1 char!

§ getCaretStr()

UStr* ubit::UEdit::getCaretStr ( int &  pos_in_str) const

returns the UStr that contains the caret and the position of the caret in this string.

details:

  • returns null if the caret is not set
  • 'pos_in_str' is relative to the string that contains the caret
  • Note that a container (UBox or subclass) can contain several UStr and that a UEdit may (rarely) be included in several containers.

§ getNextStr()

UStr * UEdit::getNextStr ( UStr from,
UElem container 
)
static

[unstable] returns the string before/after 'from' in this 'container'.

returns null if no previous/next string. [unstable] this fct is not defined at the right place!

§ getParagraphFirstStr()

UStr * UEdit::getParagraphFirstStr ( UStr from,
int &  pos,
UElem container 
)
static

par ||

§ getParagraphLastStr()

UStr * UEdit::getParagraphLastStr ( UStr from,
int &  pos,
UElem container 
)
static

[unstable] returns the first/last string in the same paragraph than 'from'.

returns the beginning/ending string contained in the same line than 'from' in this parent. returns 'from' itself if it is the beginning/ending string. [unstable] this fct is not defined at the right place!

par ||

§ nextLine()

void UEdit::nextLine ( UElem container,
UView view 
)

[impl] moves the caret in the expected way.

marche pas if (!repainted) scroll(view, +1);

§ previousLine()

void UEdit::previousLine ( UElem container,
UView view 
)

marche pas if (!repainted) scroll(view, -1);

§ removingFrom()

void UEdit::removingFrom ( UChild ,
UElem parent 
)
virtual

called when this object is removed from a parent (SEE DETAILS IF YOU REDEFINE THIS METHOD).

!BEWARE: subclasses that redefine removingFrom() MUST HAVE A DESTRUCTOR that calls destructs().
DETAILS: this is because of a C++ subtletly: as polymorphism is deactivated in destructors, a redefined removingFrom() method won't be called except if destructs() - that calls removingFrom() - is called in the destructor of the class that redefines removingFrom()).

Reimplemented from ubit::UNode.

§ setCaretColor()

UEdit & UEdit::setCaretColor ( UColor c)

get/set the color used to render the caret.

a value of null means that the caret has the same color as the text

§ setCaretPos() [1/2]

UEdit & UEdit::setCaretPos ( long  pos)

changes the caret position.

NOTE that
chars are not visible but count for 1 char!

§ setCaretPos() [2/2]

UEdit& ubit::UEdit::setCaretPos ( long  pos,
UElem container 
)

get/sets the caret position of a shared UEdit.

when the UEdit is shared by several containers (a strange idea actually) it is necessary to specify which container we are talking about

§ setCaretStr()

UEdit& ubit::UEdit::setCaretStr ( UStr str,
int  pos_in_str 
)

sets the UStr that contains the caret and the position of the caret in this string.

details:

  • 'pos_in_str' is relative to 'str', the string that will contain the caret. 'pos_in_str' = 0 corresponds to the beginning of the string; 'pos_in_str' = -1 to the end of the string.
  • the 'str' must (obvioulsy) be in the same container as the UEdit
  • Note that a container (UBox or subclass) can contain several UStr. and that a UEdit may be included in several containers.

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