コード例 #1
0
ファイル: AddToggleWidget.c プロジェクト: adacapo21/TPTrains
/* 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);
}
コード例 #2
0
void NetHackQtLabelledIcon::dissipateHighlight()
{
    if (turn_count>0) {
	turn_count--;
	if (!turn_count)
	    unhighlight();
    }
}
コード例 #3
0
ファイル: highlighter.cpp プロジェクト: CliffsDover/wesnoth
highlighter::~highlighter()
{
	try {
	if(resources::screen && owner_unit_) {
		unhighlight();
	}
	} catch (...) {}
}
コード例 #4
0
ファイル: highlighter.cpp プロジェクト: CliffsDover/wesnoth
void highlighter::clear()
{
	unhighlight();
	main_highlight_.reset();
	owner_unit_.reset();
	secondary_highlights_.clear();
	selected_action_.reset();
}
コード例 #5
0
ファイル: buttons.c プロジェクト: Vladimir84/rcc
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);
}
コード例 #6
0
ファイル: buttons.c プロジェクト: Vladimir84/rcc
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);
}
コード例 #7
0
ファイル: buttons.c プロジェクト: Vladimir84/rcc
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);
}
コード例 #8
0
ファイル: button.c プロジェクト: alchar/cpen_391_project1
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);
	}
}
コード例 #9
0
ファイル: buttons.c プロジェクト: Vladimir84/rcc
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);
}
コード例 #10
0
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 );
}
コード例 #11
0
ファイル: trigger.c プロジェクト: klammerj/dspar
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);	
}
コード例 #12
0
ファイル: em_menu.c プロジェクト: Exim/exim
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;
}
コード例 #13
0
void PL_SELECTION_TOOL::unselect( EDA_ITEM* aItem )
{
    unhighlight( aItem, SELECTED, &m_selection );
}
コード例 #14
0
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;
}
コード例 #15
0
ファイル: button.c プロジェクト: alchar/cpen_391_project1
void flicker(Button b){
	highlight(b);
	usleep(FLICKER_DELAY);
	unhighlight(b);
}