mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-31 06:30:52 +00:00
add MwNactivateHandler
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@331 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
@@ -29,16 +29,16 @@
|
|||||||
#define MwNiconPixmap "ViconPixmap"
|
#define MwNiconPixmap "ViconPixmap"
|
||||||
#define MwNsizeHints "VsizeHints"
|
#define MwNsizeHints "VsizeHints"
|
||||||
|
|
||||||
#define MwNactivateHandler "Cactivate" /* NULL */
|
#define MwNactivateHandler "Cactivate" /* NULL/int* (MwListBox) */
|
||||||
#define MwNresizeHandler "Cresize" /* NULL */
|
#define MwNresizeHandler "Cresize" /* NULL */
|
||||||
#define MwNtickHandler "Ctick" /* NULL */
|
#define MwNtickHandler "Ctick" /* NULL */
|
||||||
#define MwNmenuHandler "Cmenu" /* MwMenu */
|
#define MwNmenuHandler "Cmenu" /* MwMenu */
|
||||||
#define MwNmouseDownHandler "CmouseDownHandler" /* MwLLMouse* */
|
#define MwNmouseDownHandler "CmouseDown" /* MwLLMouse* */
|
||||||
#define MwNmouseUpHandler "CmouseUpHandler" /* asme as MwNmouseDownHandler */
|
#define MwNmouseUpHandler "CmouseUp" /* asme as MwNmouseDownHandler */
|
||||||
#define MwNmouseMoveHandler "CmouseMoveHandler" /* MwPoint* */
|
#define MwNmouseMoveHandler "CmouseMove" /* MwPoint* */
|
||||||
#define MwNchangedHandler "CchangedHandler" /* NULL */
|
#define MwNchangedHandler "Cchanged" /* NULL */
|
||||||
#define MwNkeyHandler "CkeyHandler" /* int* (MwLLKeyEnum or character code) */
|
#define MwNkeyHandler "Ckey" /* int* (MwLLKeyEnum or character code) */
|
||||||
#define MwNkeyReleaseHandler "CkeyReleaseHandler" /* same as MwNkeyHandler */
|
#define MwNkeyReleaseHandler "CkeyRelease" /* same as MwNkeyHandler */
|
||||||
#define MwNcloseHandler "CcloseHandler" /* NULL */
|
#define MwNcloseHandler "Cclose" /* NULL */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -121,10 +121,11 @@ struct _MwViewport {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct _MwListBox {
|
struct _MwListBox {
|
||||||
MwWidget vscroll;
|
MwWidget vscroll;
|
||||||
MwWidget frame;
|
MwWidget frame;
|
||||||
char** list;
|
char** list;
|
||||||
int selected;
|
int selected;
|
||||||
|
unsigned long click_time;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _MwSizeHints {
|
struct _MwSizeHints {
|
||||||
|
|||||||
@@ -29,7 +29,12 @@ static void frame_mouse_down(MwWidget handle, void* user, void* call) {
|
|||||||
st = get_first_entry(lb);
|
st = get_first_entry(lb);
|
||||||
for(i = 0; i < (h - MwDefaultBorderWidth * 2) / MwTextHeight(handle, "M"); i++) {
|
for(i = 0; i < (h - MwDefaultBorderWidth * 2) / MwTextHeight(handle, "M"); i++) {
|
||||||
if(y <= m->point.y && m->point.y <= (y + MwTextHeight(handle, "M"))) {
|
if(y <= m->point.y && m->point.y <= (y + MwTextHeight(handle, "M"))) {
|
||||||
lb->selected = st + i;
|
unsigned long t;
|
||||||
|
if(((t = MwLLGetTick()) - lb->click_time) < 250 && lb->selected == st + i) {
|
||||||
|
MwDispatchUserHandler(handle->parent, MwNactivateHandler, &lb->selected);
|
||||||
|
}
|
||||||
|
lb->selected = st + i;
|
||||||
|
lb->click_time = t;
|
||||||
}
|
}
|
||||||
y += MwTextHeight(handle, "M");
|
y += MwTextHeight(handle, "M");
|
||||||
}
|
}
|
||||||
@@ -126,8 +131,9 @@ static int create(MwWidget handle) {
|
|||||||
MwSetDefault(handle);
|
MwSetDefault(handle);
|
||||||
|
|
||||||
resize(handle);
|
resize(handle);
|
||||||
lb->list = NULL;
|
lb->list = NULL;
|
||||||
lb->selected = -1;
|
lb->selected = -1;
|
||||||
|
lb->click_time = 0;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user