/* AddToggleWidget will create a managed ToggleWidget in a radio_group, and set translation tables for correct behavior. Set radio_group to NULL to create the first widget in the group. */ Widget AddToggleWidget( String name, Widget parent, Widget radio_group, XtPointer radio_data, ArgList args, Cardinal num_args) { static String translation_table = "<EnterWindow>: highlight(Always) \n \ <LeaveWindow>: unhighlight() \n \ <Btn1Down>,<Btn1Up>: set() notify()"; static XtTranslations toggle_translations; Widget tw; Arg tw_args[2]; Cardinal i; if(!toggle_translations) toggle_translations = XtParseTranslationTable(translation_table); i = 0; XtSetArg(tw_args[i], XtNradioData, radio_data); i++; XtSetArg(tw_args[i], XtNradioGroup, radio_group); i++; tw = XtCreateManagedWidget(name, toggleWidgetClass, parent, tw_args, i); XtSetValues(tw, args, num_args); XtOverrideTranslations(tw, toggle_translations); return(tw); }
void NetHackQtLabelledIcon::dissipateHighlight() { if (turn_count>0) { turn_count--; if (!turn_count) unhighlight(); } }
highlighter::~highlighter() { try { if(resources::screen && owner_unit_) { unhighlight(); } } catch (...) {} }
void highlighter::clear() { unhighlight(); main_highlight_.reset(); owner_unit_.reset(); secondary_highlights_.clear(); selected_action_.reset(); }
static void button_mouseup(control c, int buttons, point xy) { if (!isarmed(c)) return; disarm(c); unhighlight(c); if (ptinr(xy, getrect(c))) activatecontrol(c); }
static void checkbox_mousemove(control c, int buttons, point xy) { if (!isarmed(c)) return; if (buttons && ptinr(xy,getrect(c))) highlight(c); else unhighlight(c); }
static void radio_mouseup(control c, int buttons, point xy) { if (! isarmed(c)) return; disarm(c); unhighlight(c); if (! ptinr(xy, getrect(c))) return; radio_hit(c); }
void toggle(Button b){ if(*(b.pressed) == false){ *(b.pressed) = true; highlight(b); usleep(TOGGLE_DELAY); } else{ *(b.pressed) = false; unhighlight(b); usleep(TOGGLE_DELAY); } }
static void checkbox_mouseup(control c, int buttons, point xy) { if (! isenabled(c)) return; disarm(c); unhighlight(c); if (! ptinr(xy, getrect(c))) return; if (ischecked(c)) uncheck(c); else check(c); activatecontrol(c); }
void PL_SELECTION_TOOL::ClearSelection() { if( m_selection.Empty() ) return; while( m_selection.GetSize() ) unhighlight( (EDA_ITEM*) m_selection.Front(), SELECTED, &m_selection ); getView()->Update( &m_selection ); m_selection.SetIsHover( false ); m_selection.ClearReferencePoint(); // Inform other potentially interested tools m_toolMgr->ProcessEvent( EVENTS::ClearedEvent ); }
void create_trigger_controls(scope_data *d,Widget parent) { XtCallbackRec callback[]={{trig_trace_select_callback,d},{NULL,NULL}}; XtCallbackRec level[]={{trig_level_callback,d},{NULL,NULL}}; XtCallbackRec up[]={{trig_up_callback,d},{NULL,NULL}}; XtCallbackRec down[]={{trig_down_callback,d},{NULL,NULL}}; // XtCallbackRec position[]={{trig_position_callback,d},{NULL,NULL}}; XtCallbackRec once[]={{trig_once_callback,d},{NULL,NULL}}; XtCallbackRec activate[]={{trig_activate_callback,d},{NULL,NULL}}; char * opt_trans="<EnterWindow>: highlight(Always)\n\ <LeaveWindow>: unhighlight( )\n\ <Btn1Down>,<Btn1Up>: set( ) notify( )"; Widget trace0w,trace1w,trace2w,trace3w,levelw,edgeuw,edgedw,posw,oncew,tracelw,tracebw,levellw,edgelw,poslw; Arg arglist[20]; Cardinal i; puts("2"); d->trig_channel=0; d->trig_level=0; // d->trig_position=0; d->trig_state=TS_IDLE; d->trig_mode=TRIG_NONE; i=0; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; tracelw=XtCreateManagedWidget("Trace:",labelWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNfromHoriz,tracelw);i++; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNorientation,XtorientHorizontal);i++; tracebw=XtCreateManagedWidget("Trace",boxWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNtranslations,XtParseTranslationTable(opt_trans));i++; XtSetArg(arglist[i],XtNcallback,callback);i++; XtSetArg(arglist[i],XtNstate,(XtArgVal)True);i++; trace0w=XtCreateManagedWidget("0",toggleWidgetClass,tracebw,arglist,i); i=0; XtSetArg(arglist[i],XtNtranslations,XtParseTranslationTable(opt_trans));i++; XtSetArg(arglist[i],XtNradioGroup,trace0w);i++; XtSetArg(arglist[i],XtNcallback,callback);i++; trace1w=XtCreateManagedWidget("1",toggleWidgetClass,tracebw,arglist,i); i=0; XtSetArg(arglist[i],XtNtranslations,XtParseTranslationTable(opt_trans));i++; XtSetArg(arglist[i],XtNradioGroup,trace0w);i++; XtSetArg(arglist[i],XtNcallback,callback);i++; trace2w=XtCreateManagedWidget("2",toggleWidgetClass,tracebw,arglist,i); i=0; XtSetArg(arglist[i],XtNtranslations,XtParseTranslationTable(opt_trans));i++; XtSetArg(arglist[i],XtNradioGroup,trace0w);i++; XtSetArg(arglist[i],XtNcallback,callback);i++; trace3w=XtCreateManagedWidget("3",toggleWidgetClass,tracebw,arglist,i); puts("3"); i=0; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,tracebw);i++; levellw=XtCreateManagedWidget("Level:",labelWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNcallback,level);i++; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,tracebw);i++; XtSetArg(arglist[i],XtNfromVert,tracebw);i++; XtSetArg(arglist[i],XtNfromHoriz,levellw);i++; XtSetArg(arglist[i],XtNeditType,XawtextEdit);i++; XtSetArg(arglist[i],XtNecho,True);i++; XtSetArg(arglist[i],XtNstring,"0");i++; levelw=XtCreateManagedWidget("Level",asciiTextWidgetClass,parent,arglist,i); puts("4"); i=0; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,tracebw);i++; XtSetArg(arglist[i],XtNfromVert,levellw);i++; edgelw=XtCreateManagedWidget("Edge:",labelWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNcallback,up);i++; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,tracebw);i++; XtSetArg(arglist[i],XtNfromVert,levellw);i++; XtSetArg(arglist[i],XtNfromHoriz,edgelw);i++; edgeuw=XtCreateManagedWidget("Up",toggleWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNcallback,down);i++; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,tracebw);i++; XtSetArg(arglist[i],XtNfromVert,levellw);i++; XtSetArg(arglist[i],XtNfromHoriz,edgeuw);i++; edgedw=XtCreateManagedWidget("Down",toggleWidgetClass,parent,arglist,i); puts("5"); /* i=0; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,edgelw);i++; poslw=XtCreateManagedWidget("Position:",labelWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNcallback,position);i++; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,edgelw);i++; XtSetArg(arglist[i],XtNfromHoriz,poslw);i++; XtSetArg(arglist[i],XtNeditType,XawtextEdit);i++; XtSetArg(arglist[i],XtNecho,True);i++; posw=XtCreateManagedWidget("Position",asciiTextWidgetClass,parent,arglist,i); puts("6"); */ i=0; XtSetArg(arglist[i],XtNcallback,once);i++; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,edgelw);i++; oncew=XtCreateManagedWidget("Once",toggleWidgetClass,parent,arglist,i); i=0; XtSetArg(arglist[i],XtNleft,XawChainLeft);i++; XtSetArg(arglist[i],XtNright,XawChainLeft);i++; XtSetArg(arglist[i],XtNcallback,activate);i++; XtSetArg(arglist[i],XtNtop,XawChainTop);i++; XtSetArg(arglist[i],XtNbottom,XawChainTop);i++; XtSetArg(arglist[i],XtNfromVert,edgelw);i++; XtSetArg(arglist[i],XtNfromHoriz,oncew);i++; d->trig_active=XtCreateManagedWidget("Active",toggleWidgetClass,parent,arglist,i); }
void menu_create(Widget w, XEvent *event, String *actargs, Cardinal *count) { int line; int i; uschar *s; XawTextPosition p; Widget src, menu_line, item_1, item_2, item_3, item_4, item_5, item_6, item_7, item_8, item_9, item_10, item_11, item_12, item_13; XtTranslations menu_trans = XtParseTranslationTable( "<EnterWindow>: highlight()\n\ <LeaveWindow>: unhighlight()\n\ <BtnMotion>: highlight()\n\ <BtnUp>: MenuPopdown()notify()unhighlight()\n\ "); actargs = actargs; /* Keep picky compilers happy */ count = count; /* Get the sink and source and the current text pointer */ queue_get_arg[0].value = (XtArgVal)(&queue_text_sink); queue_get_arg[1].value = (XtArgVal)(&src); queue_get_arg[2].value = (XtArgVal)(&s); XtGetValues(w, queue_get_arg, 3); /* Find the line number of the pointer in the window, and the character offset of the top lefthand of the window. */ line = (event->xbutton).y / XawTextSinkMaxHeight(queue_text_sink, 1); p = XawTextTopPosition(w); /* Find the start of the line on which the button was clicked. */ i = line; while (i-- > 0) { while (s[p] != 0 && s[p++] != '\n'); } /* Now pointing either at 0 or 1st uschar after \n, or very 1st uschar. If 0, the click was beyond the end of the data; just set up a dummy menu. (Not easy to ignore as several actions are specified for the mouse click and it expects this one to set up a menu.) If on a continuation line, move back to the main line. */ if (s[p] == 0) { menushell_arg[0].value = (XtArgVal)"No message selected"; menushell = XtCreatePopupShell("menu", simpleMenuWidgetClass, queue_widget, menushell_arg, XtNumber(menushell_arg)); XtAddCallback(menushell, "popdownCallback", popdownAction, NULL); xs_SetValues(menushell, 2, "cursor", XCreateFontCursor(X_display, XC_arrow), "translations", menu_trans); /* To keep the widgets in XFree86 happy, we have to create at least one menu item, it seems. (Openwindows doesn't mind a menu with no items.) Otherwise there's a complaint about a zero width menu, and a crash. */ menu_line = XtCreateManagedWidget("line", smeLineObjectClass, menushell, NULL, 0); item_99_arg[0].value = (XtArgVal)menu_line; (void)XtCreateManagedWidget("item99", smeBSBObjectClass, menushell, item_99_arg, XtNumber(item_99_arg)); highlighted_x = -1; return; } while (p > 0 && s[p+11] == ' ') { line--; p--; while (p > 0 && s[p-1] != '\n') p--; } /* Now pointing at first character of a main line. */ Ustrncpy(message_id, s+p+11, MESSAGE_ID_LENGTH); message_id[MESSAGE_ID_LENGTH] = 0; /* Highlight the line being menued, and save its parameters so that it can be de-highlighted at popdown. */ highlighted_start = highlighted_end = p; while (s[highlighted_end] != '\n') highlighted_end++; highlighted_x = 17; highlighted_y = line * XawTextSinkMaxHeight(queue_text_sink, 1) + 2; XawTextSinkDisplayText(queue_text_sink, highlighted_x, highlighted_y, highlighted_start, highlighted_end, 1); /* Create the popup shell and the other widgets that comprise the menu. Set the translations and pointer shape, and add the callback pointers. */ menushell_arg[0].value = (XtArgVal)message_id; menushell = XtCreatePopupShell("menu", simpleMenuWidgetClass, queue_widget, menushell_arg, XtNumber(menushell_arg)); XtAddCallback(menushell, "popdownCallback", popdownAction, NULL); xs_SetValues(menushell, 2, "cursor", XCreateFontCursor(X_display, XC_arrow), "translations", menu_trans); menu_line = XtCreateManagedWidget("line", smeLineObjectClass, menushell, NULL, 0); item_1_arg[0].value = (XtArgVal)menu_line; item_1 = XtCreateManagedWidget("item1", smeBSBObjectClass, menushell, item_1_arg, XtNumber(item_1_arg)); XtAddCallback(item_1, "callback", msglogAction, (XtPointer)message_id); item_2_arg[0].value = (XtArgVal)item_1; item_2 = XtCreateManagedWidget("item2", smeBSBObjectClass, menushell, item_2_arg, XtNumber(item_2_arg)); XtAddCallback(item_2, "callback", headersAction, (XtPointer)message_id); item_3_arg[0].value = (XtArgVal)item_2; item_3 = XtCreateManagedWidget("item3", smeBSBObjectClass, menushell, item_3_arg, XtNumber(item_3_arg)); XtAddCallback(item_3, "callback", bodyAction, (XtPointer)message_id); item_4_arg[0].value = (XtArgVal)item_3; item_4 = XtCreateManagedWidget("item4", smeBSBObjectClass, menushell, item_4_arg, XtNumber(item_4_arg)); XtAddCallback(item_4, "callback", deliverAction, (XtPointer)message_id); item_5_arg[0].value = (XtArgVal)item_4; item_5 = XtCreateManagedWidget("item5", smeBSBObjectClass, menushell, item_5_arg, XtNumber(item_5_arg)); XtAddCallback(item_5, "callback", freezeAction, (XtPointer)message_id); item_6_arg[0].value = (XtArgVal)item_5; item_6 = XtCreateManagedWidget("item6", smeBSBObjectClass, menushell, item_6_arg, XtNumber(item_6_arg)); XtAddCallback(item_6, "callback", thawAction, (XtPointer)message_id); item_7_arg[0].value = (XtArgVal)item_6; item_7 = XtCreateManagedWidget("item7", smeBSBObjectClass, menushell, item_7_arg, XtNumber(item_7_arg)); XtAddCallback(item_7, "callback", giveupAction, (XtPointer)message_id); item_8_arg[0].value = (XtArgVal)item_7; item_8 = XtCreateManagedWidget("item8", smeBSBObjectClass, menushell, item_8_arg, XtNumber(item_8_arg)); XtAddCallback(item_8, "callback", removeAction, (XtPointer)message_id); item_9_arg[0].value = (XtArgVal)item_8; item_9 = XtCreateManagedWidget("item9", smeBSBObjectClass, menushell, item_9_arg, XtNumber(item_9_arg)); item_10_arg[0].value = (XtArgVal)item_9; item_10 = XtCreateManagedWidget("item10", smeBSBObjectClass, menushell, item_10_arg, XtNumber(item_10_arg)); XtAddCallback(item_10, "callback", addrecipAction, (XtPointer)message_id); item_11_arg[0].value = (XtArgVal)item_10; item_11 = XtCreateManagedWidget("item11", smeBSBObjectClass, menushell, item_11_arg, XtNumber(item_11_arg)); XtAddCallback(item_11, "callback", markdelAction, (XtPointer)message_id); item_12_arg[0].value = (XtArgVal)item_11; item_12 = XtCreateManagedWidget("item12", smeBSBObjectClass, menushell, item_12_arg, XtNumber(item_12_arg)); XtAddCallback(item_12, "callback", markalldelAction, (XtPointer)message_id); item_13_arg[0].value = (XtArgVal)item_12; item_13 = XtCreateManagedWidget("item13", smeBSBObjectClass, menushell, item_13_arg, XtNumber(item_13_arg)); XtAddCallback(item_13, "callback", editsenderAction, (XtPointer)message_id); /* Arrange that the menu pops up with the first item selected. */ xs_SetValues(menushell, 1, "popupOnEntry", item_1); /* Flag that the menu is up to suppress queue updates. */ menu_is_up = TRUE; }
void PL_SELECTION_TOOL::unselect( EDA_ITEM* aItem ) { unhighlight( aItem, SELECTED, &m_selection ); }
bool PL_SELECTION_TOOL::doSelectionMenu( COLLECTOR* aCollector ) { EDA_ITEM* current = nullptr; ACTION_MENU menu; int limit = std::min( MAX_SELECT_ITEM_IDS, aCollector->GetCount() ); for( int i = 0; i < limit; ++i ) { wxString text; EDA_ITEM* item = ( *aCollector )[i]; text = item->GetSelectMenuText( m_frame->GetUserUnits() ); wxString menuText = wxString::Format("&%d. %s", i + 1, text ); menu.Add( menuText, i + 1, item->GetMenuImage() ); } if( aCollector->m_MenuTitle.Length() ) menu.SetTitle( aCollector->m_MenuTitle ); menu.SetIcon( info_xpm ); menu.DisplayTitle( true ); SetContextMenu( &menu, CMENU_NOW ); while( OPT_TOOL_EVENT evt = Wait() ) { if( evt->Action() == TA_CONTEXT_MENU_UPDATE ) { if( current ) unhighlight( current, BRIGHTENED ); int id = *evt->GetCommandId(); // User has pointed an item, so show it in a different way if( id > 0 && id <= limit ) { current = ( *aCollector )[id - 1]; highlight( current, BRIGHTENED ); } else { current = NULL; } } else if( evt->Action() == TA_CONTEXT_MENU_CHOICE ) { if( current ) unhighlight( current, BRIGHTENED ); OPT<int> id = evt->GetCommandId(); // User has selected an item, so this one will be returned if( id && ( *id > 0 ) ) current = ( *aCollector )[*id - 1]; else current = NULL; break; } getView()->UpdateItems(); m_frame->GetCanvas()->Refresh(); } if( current ) { unhighlight( current, BRIGHTENED ); getView()->UpdateItems(); m_frame->GetCanvas()->Refresh(); aCollector->Empty(); aCollector->Append( current ); return true; } return false; }
void flicker(Button b){ highlight(b); usleep(FLICKER_DELAY); unhighlight(b); }