Laxkit
0.0.7.1
|
Abstract base class for a kind of button that increments and decrements itself based on where the mouse is clicked. More...
Public Member Functions | |
ItemSlider (anXWindow *parnt, const char *nname, const char *ntitle, unsigned long nstyle, int xx, int yy, int ww, int hh, int brder, anXWindow *prev, unsigned long nowner, const char *nsendthis) | |
virtual | ~ItemSlider () |
Empty virtual. | |
virtual int | init () |
Do nothing init. | |
virtual int | Idle (int tid=0) |
If button is down, then next or previous items are selected rapidly. | |
virtual int | WheelUp (int x, int y, unsigned int state, int count, const LaxMouse *d) |
virtual int | WheelDown (int x, int y, unsigned int state, int count, const LaxMouse *d) |
virtual int | LBDown (int x, int y, unsigned int state, int count, const LaxMouse *d) |
Gets ready to select next or previous... | |
virtual int | LBUp (int x, int y, unsigned int state, const LaxMouse *d) |
Select a next or previous item. | |
virtual int | MouseMove (int x, int y, unsigned int state, const LaxMouse *d) |
Dragging the mouse horizontally selects previous or next item. | |
virtual void | Refresh ()=0 |
virtual int | GetCurrentItemId () |
Returns id, not index. | |
virtual int | SelectPrevious () |
Select the previous item. | |
virtual int | SelectNext () |
Select the next item. | |
virtual int | Select (int id) |
Selects item with id equal to id. | |
Public Member Functions inherited from Laxkit::anXWindow | |
anXWindow (anXWindow *parnt, const char *nname, const char *ntitle, unsigned long nstyle, int xx, int yy, int ww, int hh, int brder, anXWindow *prev, unsigned long nowner, const char *nsend) | |
Constructor. | |
virtual | ~anXWindow () |
anXWindow destructor. Its X window should have been XDestroy'd before here. | |
virtual const char * | whattype () |
virtual const char * | WindowTitle (int which=0) |
Return basically the name of the window. | |
virtual void | WindowTitle (const char *newtitle) |
Change the title of the window. This text would usually be displayed in the bar provided by a window manager. | |
virtual const char * | tooltip (int mouseid=0) |
By default, return win_tooltip. | |
virtual const char * | tooltip (const char *newtooltip) |
Replace the current tooltip, return the current tooltip (after replacing). | |
virtual anXWindow * | findChildWindowByTitle (const char *title) |
Find the first immediate child window that has win_title==title. | |
virtual anXWindow * | findChildWindowByName (const char *name) |
Find the first immediate child window that has win_name==name. | |
virtual int | Grayed () |
Return whether this window is grayed. | |
virtual int | Grayed (int g) |
Set the gray state of this window. Returns Grayed(void). | |
virtual int | preinit () |
virtual int | close () |
Called by anXApp from anXApp::destroywindow() when a window is to be destroyed. | |
virtual Displayer * | MakeCurrent () |
virtual int | Needtodraw () |
Default is to return needtodraw. | |
virtual void | Needtodraw (int nntd) |
If 0, then the window does not need refreshing. Otherwise it does. | |
virtual int | deletenow () |
Return whether the window is allowed to be deleted. | |
virtual int | setWinStyle (unsigned int stylebit, int newvalue) |
Control various window related basic styling of win_style. | |
virtual int | getWinStyle (unsigned int stylebit) |
Currently, simply return win_style&stylebit. | |
virtual void | installColors (WindowColors *newcolors) |
Dec_count old and inc_count new. | |
virtual ShortcutHandler * | GetShortcuts () |
Return a ShortcutHandler that contains stacks of bound shortcuts and possible window actions. | |
virtual int | PerformAction (int action_number) |
virtual int | Event (const EventData *data, const char *mes) |
Default event handler. | |
virtual int | ExposeChange (ScreenEventData *e) |
Default behavior on Expose events is to call Needtodraw(1). | |
virtual int | DeviceChange (const DeviceEventData *e) |
virtual int | CharInput (unsigned int ch, const char *buffer, int len, unsigned int state, const LaxKeyboard *kb) |
Input of character data or control character presses. | |
virtual int | KeyUp (unsigned int ch, unsigned int state, const LaxKeyboard *kb) |
Called when a key is released. | |
virtual int | ButtonDown (int button, int x, int y, unsigned int state, int count, const LaxMouse *m) |
virtual int | ButtonUp (int button, int x, int y, unsigned int state, const LaxMouse *m) |
virtual int | MBDown (int x, int y, unsigned int state, int count, const LaxMouse *d) |
Default is just to return 1. | |
virtual int | MBUp (int x, int y, unsigned int state, const LaxMouse *d) |
Default is just to return 1. | |
virtual int | RBDown (int x, int y, unsigned int state, int count, const LaxMouse *d) |
Default is just to return 1. | |
virtual int | RBUp (int x, int y, unsigned int state, const LaxMouse *d) |
Default is just to return 1. | |
virtual int | FocusOn (const FocusChangeData *e) |
Increment win_active, and highlights the window's border, if the event refers to this window. | |
virtual int | FocusOff (const FocusChangeData *e) |
Decrements win_active, and de-highlights the window's border if win_active==0, if event is a real focus off. | |
virtual int | MoveResize (int nx, int ny, int nw, int nh) |
Move and resize the window. | |
virtual int | Resize (int nw, int nh) |
Resize with new nw, and nh. | |
virtual void | contentChanged () |
Windows may call this when their contents change. | |
virtual void | selectionChanged () |
Windows may call this when their selections change. | |
virtual anXWindow * | GetController () |
Return the window most relevant for tab control loops. | |
virtual int | SelectNextControl (const LaxDevice *d) |
Transfer focus to nextcontrol. | |
virtual int | SelectPrevControl (const LaxDevice *d) |
Transfer the focus to prevcontrol. | |
virtual void | ControlActivation (int on) |
Do special activation or not when controls are activated by tabbing. | |
virtual int | AddPrevControl (anXWindow *prev) |
virtual int | AddNextControl (anXWindow *next) |
virtual int | ConnectControl (anXWindow *towhat, int after=1) |
Connect towhat to this. Used for tab loops. | |
virtual int | CloseControlLoop () |
Close a tab loop. | |
virtual void | SetOwner (anXWindow *nowner, const char *mes=NULL, unsigned int send_mask=0) |
Set the new owner and control message. | |
virtual void | SetOwner (unsigned long nowner_id, const char *mes=NULL, unsigned int send_mask=0) |
virtual void | dump_out (FILE *f, int indent, int what, anObject *context) |
Simple dumping function. | |
virtual LaxFiles::Attribute * | dump_out_atts (LaxFiles::Attribute *att, int what, anObject *context) |
virtual void | dump_in_atts (LaxFiles::Attribute *att, int flag, anObject *context) |
Public Member Functions inherited from Laxkit::Tagged | |
virtual int | HasTag (const char *tag, int casematters) |
Return whether the tag exists. | |
virtual int | NumberOfTags () |
Return the number of tags, strangely enough. | |
virtual const char * | GetTag (int i) |
Return const pointer to the tag text for tag number i, where i==0 is the first tag. | |
virtual char * | GetAllTags () |
Return a new char[] with a space separated list of all the tags. | |
virtual int | InsertTags (const char *tags, int casematters) |
Insert tags from a string such as 'tag1 tag2 tag3 "tag with spaces" tag4'. | |
virtual int | InsertTag (const char *tag, int casematters) |
Insert tag if it doesn't exist already. | |
virtual int | RemoveTag (const char *tag) |
The tag must be an exact match. | |
virtual int | RemoveTag (int i) |
Remove tag number i. i must be in range [0..NumberOfTags()-1]. | |
virtual void | FlushTags () |
Public Member Functions inherited from LaxFiles::DumpUtility | |
virtual void | dump_in (FILE *f, int indent, int what, Laxkit::anObject *loadcontext, Attribute **att) |
Read in a file segment as an Attribute, and pass parsing duties to dump_in_atts. | |
virtual | ~DumpUtility () |
Empty virtual destructor. | |
Public Member Functions inherited from Laxkit::aDrawable | |
aDrawable (Drawable d=0) | |
virtual int | DrawableType () |
virtual int | ValidDrawable () |
Public Attributes | |
int | movewidth |
Public Attributes inherited from Laxkit::anXWindow | |
WindowColors * | win_colors |
anXApp * | app |
char * | win_name |
An arbitrary string to be used as an id. | |
char * | win_title |
The title of the window. | |
anXWindow * | win_parent |
int | win_screen |
unsigned long | win_style |
int | win_x |
int | win_y |
int | win_w |
int | win_h |
unsigned int | win_border |
int | win_pointer_shape |
Identifier for a stock mouse shape. | |
char | win_on |
Nonzero if the window is mapped. | |
char | win_active |
Should be positive when the window has a keyboard focus, 0 otherwise. | |
unsigned long | win_owner |
Who gets control messages from this window. | |
unsigned int | win_owner_send_mask |
char * | win_sendthis |
The type of message that gets sent to owner. | |
anXWindow * | nextcontrol |
anXWindow * | prevcontrol |
Public Attributes inherited from Laxkit::Tagged | |
int | sorttags |
Protected Member Functions | |
virtual int | send () |
Sends message to owner. | |
virtual int | getid (int i)=0 |
virtual int | numitems ()=0 |
Protected Member Functions inherited from Laxkit::anXWindow | |
virtual int | deletekid (anXWindow *w) |
Purges child anXWindows from window's child stack. | |
virtual void | SwapBuffers () |
Swap buffers. This should be called from Refresh() if VIEWPORT_BACK_BUFFER is set in win_style. | |
virtual void | SetupBackBuffer () |
Initialize the backbuffer. |
Protected Attributes | |
int | timerid |
int | nitems |
int | curitem |
int | lbitem |
The index of the current item at the moment the left button is pressed down. | |
int | mx |
int | my |
int | lx |
int | ly |
int | ox |
int | oy |
int | buttondown |
int | buttondowndevice |
Protected Attributes inherited from Laxkit::anXWindow | |
char * | win_tooltip |
Convenience variable to hold the window's tooltip, if any. | |
int | needtodraw |
RefPtrStack< anXWindow > | _kids |
Stack of children of the window. | |
Protected Attributes inherited from Laxkit::Tagged | |
PtrStack< char > | list_of_tags |
Abstract base class for a kind of button that increments and decrements itself based on where the mouse is clicked.
If you click to the left of center, then the item is decremented, and to the right increments. Holding down the button and dragging progressively slides the values up or down depending on whether you move the mouse right or left. Users of the program Blender will be familiar with this sort of control.
If button is down, then next or previous items are selected rapidly.
Pressing the button down and not moving it causes points to cycle through, as if you were rapidly clicking on the left or right region of the control. Moving the button even just a little cancels this operation.
Reimplemented from Laxkit::anXWindow.
References lbitem, Laxkit::anXApp::removetimer(), SelectNext(), SelectPrevious(), and send().
|
virtual |
Gets ready to select next or previous...
LBUp, Idle, and MouseMove do the actual Selecting.
Reimplemented from Laxkit::anXWindow.
Reimplemented in Laxkit::SliderPopup, and Laxkit::NumInputSlider.
References lbitem.
Select a next or previous item.
If button is up on the left side, then SelectPrevious is called. If button is on the right side, then SelectNext is called.
Reimplemented from Laxkit::anXWindow.
References lbitem, SelectNext(), SelectPrevious(), and send().
Dragging the mouse horizontally selects previous or next item.
If the mouse is dragged more than movewidth then the next or previous item is selected. If the mouse moves just a little bit, it cancels any idle selecting by setting lx and ly to unreasonable values, which causes Idle to stop the cycling.
Reimplemented from Laxkit::anXWindow.
References Laxkit::anXApp::removetimer(), SelectNext(), and SelectPrevious().
Selects item with id equal to id.
Please note this is different than selecting an index. This uses getid() to compare id to the items' ids.
Returns the id of the current item.
Reimplemented in Laxkit::NumSlider.
References send().
Referenced by Laxkit::PrintDialog::addOptions().
|
virtual |
Select the next item.
Returns id of the new item.
Reimplemented in Laxkit::SliderPopup.
References send().
Referenced by Idle(), LBUp(), and MouseMove().
|
virtual |
Select the previous item.
Returns id of the new item.
Reimplemented in Laxkit::SliderPopup.
References send().
Referenced by Idle(), LBUp(), and MouseMove().
|
protectedvirtual |
Sends message to owner.
Sends long data, with xclient.data.l[0]=getid(curitem)
.
Reimplemented in Laxkit::SliderPopup.
References Laxkit::anXApp::SendMessage(), Laxkit::anXWindow::win_owner, and Laxkit::anXWindow::win_sendthis.
Referenced by Laxkit::NumInputSlider::Event(), Idle(), LBUp(), Laxkit::NumSlider::Select(), Select(), SelectNext(), and SelectPrevious().