|
Dillo v3.2.0-93-g6a586845
|
A widget for embedding UI widgets. More...
#include <ui.hh>
Public Member Functions | |
| Embed (Resource *resource) | |
| ~Embed () | |
| void | setDisplayed (bool displayed) |
| void | setEnabled (bool enabled) |
| void | draw (View *view, Rectangle *area, DrawingContext *context) |
| Area is given in widget coordinates. | |
| Iterator * | iterator (Content::Type mask, bool atEnd) |
| Return an iterator for this widget. | |
| void | setStyle (style::Style *style) |
| Change the style of a widget. | |
| Resource * | getResource () |
| void | correctReqWidthOfChildNoRec (Widget *child, Requisition *requisition, bool allowDecreaseWidth) |
| void | correctReqHeightOfChildNoRec (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseHeight) |
| virtual void | correctExtremesOfChildNoRec (Widget *child, Extremes *extremes, bool useAdjustmentWidth) |
Public Member Functions inherited from dw::core::Widget | |
| void | setDeleteCallback (DW_Callback_t func, void *data) |
| Widget () | |
| ~Widget () | |
| bool | resizeQueued () |
| bool | extremesQueued () |
| bool | needsResize () |
| bool | needsAllocate () |
| bool | allocateQueued () |
| bool | extremesChanged () |
| bool | wasAllocated () |
| void | setParent (Widget *parent) |
| void | setQuasiParent (Widget *quasiParent) |
| void | setGenerator (Widget *generator) |
| style::Style * | getStyle () |
| Allocation * | getAllocation () |
| bool | inAllocation (int x, int y) |
| int | boxOffsetX () |
| int | boxRestWidth () |
| int | boxDiffWidth () |
| int | boxOffsetY () |
| int | boxRestHeight () |
| int | boxDiffHeight () |
| virtual int | numSizeRequestReferences () |
| See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
| virtual Widget * | sizeRequestReference (int index) |
| See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
| virtual int | numGetExtremesReferences () |
| See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
| virtual Widget * | getExtremesReference (int index) |
| See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
| void | sizeRequest (Requisition *requisition, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL) |
| This method is a wrapper for Widget::sizeRequestImpl(); it calls the latter only when needed. | |
| void | getExtremes (Extremes *extremes, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL) |
| Wrapper for Widget::getExtremesImpl(). | |
| void | sizeAllocate (Allocation *allocation) |
| Wrapper for Widget::sizeAllocateImpl, calls the latter only when needed. | |
| void | calcExtraSpace (int numPos, Widget **references, int *x, int *y) |
| Calculates dw::core::Widget::extraSpace. | |
| int | getAvailWidth (bool forceValue) |
| Return available width including margin/border/padding (extraSpace?), not only the content width. | |
| int | getAvailHeight (bool forceValue) |
| Return available height including margin/border/padding (extraSpace?), not only the content height. | |
| virtual bool | getAdjustMinWidth () |
| void | correctRequisition (Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
| void | correctExtremes (Extremes *extremes, bool useAdjustmentWidth) |
| int | calcWidth (style::Length cssValue, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue) |
| Computes a width value in pixels from cssValue. | |
| void | calcFinalWidth (style::Style *style, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue, int *finalWidth) |
| Computes the final width if possible and constraints it by min-width and max-width. | |
| int | calcHeight (style::Length cssValue, bool usePercentage, int refHeight, Widget *refWidget, bool forceValue) |
| virtual int | applyPerWidth (int containerWidth, style::Length perWidth) |
| virtual int | applyPerHeight (int containerHeight, style::Length perHeight) |
| int | getMinWidth (Extremes *extremes, bool forceValue) |
| Used to evaluate Widget::adjustMinWidth. | |
| virtual bool | isBlockLevel () |
| virtual bool | isPossibleContainer () |
| void | containerSizeChanged () |
| bool | intersects (Widget *refWidget, Rectangle *area, Rectangle *intersection) |
| Calculates the intersection of the visible allocation (i. | |
| void | drawInterruption (View *view, Rectangle *area, DrawingContext *context) |
| See Interrupted drawing for details. | |
| virtual Widget * | getWidgetAtPoint (int x, int y, GettingWidgetAtPointContext *context) |
| Widget * | getWidgetAtPointInterrupted (int x, int y, GettingWidgetAtPointContext *context) |
| bool | buttonPress (EventButton *event) |
| bool | buttonRelease (EventButton *event) |
| bool | motionNotify (EventMotion *event) |
| void | enterNotify (EventCrossing *event) |
| void | leaveNotify (EventCrossing *event) |
| void | setBgColor (style::Color *bgColor) |
| Set the background "behind" the widget, if it is not the background of the parent widget, e.g. | |
| style::Color * | getBgColor () |
| Get the actual background of a widget. | |
| style::Color * | getFgColor () |
| Get the actual foreground color of a widget. | |
| void | drawBox (View *view, style::Style *style, Rectangle *area, int x, int y, int width, int height, bool inverse) |
| Draw borders and background of a widget part, which allocation is given by (x, y, width, height) (widget coordinates). | |
| void | drawWidgetBox (View *view, Rectangle *area, bool inverse) |
| Draw borders and background of a widget. | |
| void | drawSelected (View *view, Rectangle *area) |
| void | setButtonSensitive (bool buttonSensitive) |
| bool | isButtonSensitive () |
| Widget * | getParent () |
| Widget * | getContainer () |
| Widget * | getTopLevel () |
| Get the widget at the root of the tree, this widget is part from. | |
| int | getLevel () |
| Get the level of the widget within the tree. | |
| int | getGeneratorLevel () |
| Get the level of the widget within the tree, regarding the generators, not the parents. | |
| Widget * | getNearestCommonAncestor (Widget *otherWidget) |
| Get the widget with the highest level, which is a direct ancestor of widget1 and widget2. | |
| WidgetReference * | getWidgetReference () |
| void | setWidgetReference (WidgetReference *widgetReference) |
| Widget * | getGenerator () |
| Layout * | getLayout () |
| void | scrollTo (HPosition hpos, VPosition vpos, int x, int y, int width, int height) |
| void | getMarginArea (int *xMar, int *yMar, int *widthMar, int *heightMar) |
| void | getBorderArea (int *xBor, int *yBor, int *widthBor, int *heightBor) |
| void | getPaddingArea (int *xPad, int *yPad, int *widthPad, int *heightPad) |
| Return the padding area (content plus padding). | |
| virtual void | removeChild (Widget *child) |
Public Member Functions inherited from lout::identity::IdentifiableObject | |
| IdentifiableObject () | |
| void | intoStringBuffer (misc::StringBuffer *sb) |
| Store a textual representation of the object in a misc::StringBuffer. | |
| int | getClassId () |
| Returns the class identifier. | |
| const char * | getClassName () |
| Return the name, under which the class of this object was registered. | |
| bool | instanceOf (int otherClassId) |
| Returns, whether this class is an instance of the class, given by otherClassId, or of a sub class of this class. | |
Public Member Functions inherited from lout::object::Object | |
| virtual | ~Object () |
| The destructor is defined as virtual (but not abstract), so that destruction of Object's works properly. | |
| virtual bool | equals (Object *other) |
| Returns, whether two objects are equal. | |
| virtual int | hashValue () |
| Return a hash value for the object. | |
| virtual Object * | clone () |
| Return an exact copy of the object. | |
| char * | toString () |
| Use object::Object::intoStringBuffer to return a textual representation of the object. | |
| virtual size_t | sizeOf () |
| Return the number of bytes, this object totally uses. | |
Static Public Attributes | |
| static int | CLASS_ID = -1 |
Static Public Attributes inherited from dw::core::Widget | |
| static int | CLASS_ID = -1 |
Protected Member Functions | |
| void | sizeRequestSimpl (Requisition *requisition) |
| Simple variant, to be implemented by widgets with sizes not depending on positions. | |
| void | getExtremesSimpl (Extremes *extremes) |
| Simple variant, to be implemented by widgets with extremes not depending on positions. | |
| void | sizeAllocateImpl (Allocation *allocation) |
| See Sizes of Dillo Widgets. | |
| int | getAvailWidthOfChild (Widget *child, bool forceValue) |
| Computes the content width available of a child widget. | |
| int | getAvailHeightOfChild (Widget *child, bool forceValue) |
| void | correctRequisitionOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
| void | correctExtremesOfChild (Widget *child, Extremes *extremes, bool useAdjustmentWidth) |
| void | containerSizeChangedForChildren () |
| void | enterNotifyImpl (core::EventCrossing *event) |
| void | leaveNotifyImpl (core::EventCrossing *event) |
| bool | buttonPressImpl (core::EventButton *event) |
Protected Member Functions inherited from dw::core::Widget | |
| int | getHeight () |
| int | getContentWidth () |
| int | getContentHeight () |
| StackingContextMgr * | getNextStackingContextMgr () |
| void | printFlag (Flags f) |
| void | setFlags (Flags f) |
| void | unsetFlags (Flags f) |
| void | queueDraw () |
| void | queueDrawArea (int x, int y, int width, int height) |
| void | queueResize (int ref, bool extremesChanged) |
| virtual void | sizeRequestImpl (Requisition *requisition, int numPos, Widget **references, int *x, int *y) |
| See Sizes of Dillo Widgets. | |
| virtual void | getExtremesImpl (Extremes *extremes, int numPos, Widget **references, int *x, int *y) |
| See Sizes of Dillo Widgets. | |
| virtual void | calcExtraSpaceImpl (int numPos, Widget **references, int *x, int *y) |
| The actual implementation for calculating dw::core::Widget::extraSpace. | |
| virtual void | resizeDrawImpl () |
| Called after sizeAllocateImpl() to redraw necessary areas. | |
| virtual void | markSizeChange (int ref) |
| See Sizes of Dillo Widgets. | |
| virtual void | markExtremesChange (int ref) |
| See Sizes of Dillo Widgets. | |
| void | correctRequisitionViewport (Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
| Corrects a requisition to fit in the viewport. | |
| void | correctReqWidthOfChild (Widget *child, Requisition *requisition, bool allowDecreaseWidth) |
| Correct a child requisition to fit the parent. | |
| void | correctReqHeightOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseHeight) |
| bool | correctReqAspectRatio (int pass, Widget *child, Requisition *requisition, bool allowDecreaseWidth, bool allowDecreaseHeight, void(*splitHeightFun)(int, int *, int *)) |
| Correct a child requisition aspect ratio if needed. | |
| virtual bool | affectedByContainerSizeChange () |
| virtual bool | affectsSizeChangeContainerChild (Widget *child) |
| virtual bool | usesAvailWidth () |
| Must be implemengted by a method returning true, when getAvailWidth() is called. | |
| virtual bool | usesAvailHeight () |
| Must be implemengted by a method returning true, when getAvailHeight() is called. | |
| virtual void | notifySetAsTopLevel () |
| This method is called after a widget has been set as the top of a widget tree. | |
| virtual void | notifySetParent () |
| This method is called after a widget has been added to a parent. | |
| virtual bool | buttonReleaseImpl (EventButton *event) |
| virtual bool | motionNotifyImpl (EventMotion *event) |
| char * | addAnchor (const char *name) |
| char * | addAnchor (const char *name, int y) |
| void | changeAnchor (char *name, int y) |
| void | removeAnchor (char *name) |
| void | setCursor (style::Cursor cursor) |
| bool | selectionHandleEvent (SelectionState::EventType eventType, Iterator *it, int charPos, int linkNo, MousePositionEvent *event) |
Protected Member Functions inherited from lout::identity::IdentifiableObject | |
| void | registerName (const char *className, int *classId) |
| This method must be called in the constructor for the sub class. | |
Private Attributes | |
| Resource * | resource |
Friends | |
| class | Resource |
Additional Inherited Members | |
Static Public Member Functions inherited from dw::core::Widget | |
| static void | setAdjustMinWidth (bool adjustMinWidth) |
| static void | adjustHeight (int *height, bool allowDecreaseHeight, int ascent, int descent) |
Public Attributes inherited from dw::core::Widget | |
| int | parentRef |
| This value is defined by the parent widget, and used for incremential resizing. | |
Protected Types inherited from dw::core::Widget | |
| enum | Flags { RESIZE_QUEUED = 1 << 0 , EXTREMES_QUEUED = 1 << 1 , NEEDS_RESIZE = 1 << 2 , NEEDS_ALLOCATE = 1 << 3 , ALLOCATE_QUEUED = 1 << 4 , EXTREMES_CHANGED = 1 << 5 , WAS_ALLOCATED = 1 << 6 } |
Protected Attributes inherited from dw::core::Widget | |
| WidgetImgRenderer * | widgetImgRenderer |
| Allocation | allocation |
| The current allocation: size and position, always relative to the canvas. | |
| float | ratio |
| Preferred aspect ratio of the widget. | |
| Layout * | layout |
| style::Box | extraSpace |
| Space around the margin box. | |
| StackingContextMgr * | stackingContextMgr |
| Set iff this widget constitutes a stacking context, as defined by CSS. | |
| Widget * | stackingContextWidget |
| The bottom-most ancestor (or this) for which stackingContextMgr is set. | |
| dw::core::ui::Embed::Embed | ( | Resource * | resource | ) |
Definition at line 37 of file ui.cc.
References CLASS_ID, DBG_OBJ_ASSOC_CHILD, DBG_OBJ_CREATE, lout::identity::IdentifiableObject::registerName(), resource, and dw::core::ui::Resource::setEmbed().
| dw::core::ui::Embed::~Embed | ( | ) |
Definition at line 46 of file ui.cc.
References DBG_OBJ_DELETE, and resource.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 118 of file ui.cc.
References dw::core::EventButton::button, dw::core::ui::Resource::emitClicked(), and resource.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 99 of file ui.cc.
References dw::core::ui::Resource::containerSizeChangedForChildren(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, and resource.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 93 of file ui.cc.
References dw::core::ui::Resource::correctExtremesOfChild(), dw::core::Widget::extremes, and resource.
|
inlinevirtual |
Definition at line 278 of file ui.hh.
References dw::core::Widget::correctExtremesOfChild(), and dw::core::Widget::extremes.
Referenced by dw::core::ui::ComplexButtonResource::correctExtremesOfChild().
|
inline |
Definition at line 270 of file ui.hh.
References dw::core::Widget::correctReqHeightOfChild(), and dw::core::Widget::requisition.
Referenced by dw::core::ui::ComplexButtonResource::correctRequisitionOfChild().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 82 of file ui.cc.
References dw::core::ui::Resource::correctRequisitionOfChild(), dw::core::Widget::requisition, and resource.
|
inline |
Definition at line 265 of file ui.hh.
References dw::core::Widget::correctReqWidthOfChild(), and dw::core::Widget::requisition.
Referenced by dw::core::ui::ComplexButtonResource::correctRequisitionOfChild().
|
virtual |
Area is given in widget coordinates.
Implements dw::core::Widget.
Definition at line 141 of file ui.cc.
References dw::core::ui::Resource::draw(), dw::core::Widget::drawWidgetBox(), and resource.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 106 of file ui.cc.
References dw::core::ui::Resource::emitEnter(), dw::core::Widget::enterNotifyImpl(), and resource.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 77 of file ui.cc.
References dw::core::ui::Resource::getAvailHeightOfChild(), and resource.
|
protectedvirtual |
Computes the content width available of a child widget.
| child | The child widget of which the available width will be computed. |
| forceValue | If true, computes the width of the child with value "auto". Otherwise, it won't. |
Reimplemented from dw::core::Widget.
Definition at line 72 of file ui.cc.
References dw::core::ui::Resource::getAvailWidthOfChild(), and resource.
|
protectedvirtual |
Simple variant, to be implemented by widgets with extremes not depending on positions.
Reimplemented from dw::core::Widget.
Definition at line 59 of file ui.cc.
References dw::core::Extremes::adjustmentWidth, dw::core::Widget::correctExtremes(), dw::core::Widget::extremes, dw::core::ui::Resource::getExtremes(), lout::misc::min(), dw::core::Extremes::minWidth, dw::core::Extremes::minWidthIntrinsic, and resource.
|
inline |
|
virtual |
Return an iterator for this widget.
mask can narrow the types returned by the iterator, this can enhance performance quite much, e.g. when only searching for child widgets.
With atEnd == false, the iterator starts before the beginning, i.e. the first call of dw::core::Iterator::next will let the iterator point on the first piece of contents. Likewise, With atEnd == true, the iterator starts after the last piece of contents, call dw::core::Iterator::prev in this case.
Implements dw::core::Widget.
Definition at line 147 of file ui.cc.
References dw::core::ui::Resource::iterator(), and resource.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 112 of file ui.cc.
References dw::core::ui::Resource::emitLeave(), dw::core::Widget::leaveNotifyImpl(), and resource.
| void dw::core::ui::Embed::setDisplayed | ( | bool | displayed | ) |
Definition at line 131 of file ui.cc.
References resource, and dw::core::ui::Resource::setDisplayed().
Referenced by Html_tag_open_input().
| void dw::core::ui::Embed::setEnabled | ( | bool | enabled | ) |
Definition at line 136 of file ui.cc.
References resource, and dw::core::ui::Resource::setEnabled().
|
virtual |
Change the style of a widget.
The old style is automatically unreferred, the new is referred. If this call causes the widget to change its size, dw::core::Widget::queueResize is called.
Reimplemented from dw::core::Widget.
Definition at line 152 of file ui.cc.
References resource, dw::core::ui::Resource::setStyle(), dw::core::Widget::setStyle(), and dw::core::Widget::style.
Referenced by main().
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Definition at line 67 of file ui.cc.
References dw::core::Widget::allocation, resource, and dw::core::ui::Resource::sizeAllocate().
|
protectedvirtual |
Simple variant, to be implemented by widgets with sizes not depending on positions.
Reimplemented from dw::core::Widget.
Definition at line 52 of file ui.cc.
References dw::core::Widget::correctRequisition(), dw::core::Widget::requisition, resource, dw::core::ui::Resource::sizeRequest(), and dw::core::splitHeightPreserveAscent().
|
static |
|
private |
Definition at line 228 of file ui.hh.
Referenced by buttonPressImpl(), containerSizeChangedForChildren(), correctExtremesOfChild(), correctRequisitionOfChild(), draw(), Embed(), enterNotifyImpl(), getAvailHeightOfChild(), getAvailWidthOfChild(), getExtremesSimpl(), getResource(), iterator(), leaveNotifyImpl(), setDisplayed(), setEnabled(), setStyle(), sizeAllocateImpl(), sizeRequestSimpl(), and ~Embed().