/*ARGSUSED*/ static void UpdateOption(Widget w, XtPointer user_data, XtPointer call_data) { /* xf86removeOption(options, option_str); AddOption(w, user_data, call_data); UpdateOptionList();*/ Arg args[1]; char *nam, *val; XF86OptionPtr option; XtSetArg(args[0], XtNstring, &nam); XtGetValues(name, args, 1); XtSetArg(args[0], XtNstring, &val); XtGetValues(value, args, 1); if ((option = xf86findOption(*options, option_str)) == NULL) return; XtFree(option->opt_name); option->opt_name = option_str = XtNewString(nam); XtFree(option->opt_val); if (val && strlen(val)) option->opt_val = XtNewString(val); else option->opt_val = NULL; UpdateOptionList(); XawListHighlight(list, option_index); XtSetArg(args[0], XtNstring, option->opt_name); XtSetValues(name, args, 1); XtSetArg(args[0], XtNstring, option->opt_val); XtSetValues(value, args, 1); XtSetSensitive(remov, True); XtSetSensitive(update, True); }
/*ARGSUSED*/ static void RemoveOption(Widget w, XtPointer user_data, XtPointer call_data) { Arg args[1]; char *str; XtSetArg(args[0], XtNstring, &str); XtGetValues(name, args, 1); xf86removeOption(options, str); UpdateOptionList(); }
void IOWindow::Update() { m_expression_text->setPlainText(QString::fromStdString(m_reference->GetExpression())); m_range_spinbox->setValue(m_reference->range * SLIDER_TICK_COUNT); m_range_slider->setValue(m_reference->range * SLIDER_TICK_COUNT); m_devq = m_controller->GetDefaultDevice(); UpdateDeviceList(); UpdateOptionList(); }
/*ARGSUSED*/ static void AddOption(Widget w, XtPointer user_data, XtPointer call_data) { Arg args[1]; char *nam, *val; XtSetArg(args[0], XtNstring, &nam); XtGetValues(name, args, 1); XtSetArg(args[0], XtNstring, &val); XtGetValues(value, args, 1); if (xf86findOption(*options, nam) != NULL || strlen(nam) == 0) /* XXX xf86addNewOption will trash the option linked list if * the options being added already exists. */ return; *options = xf86addNewOption(*options, XtNewString(nam), val && strlen(val) ? XtNewString(val) : NULL); UpdateOptionList(); }
void OptionsPopup(XF86OptionPtr *opts) #endif { static int first = 1; #ifdef USE_MODULES static Widget button, menu; static char label[256], menuName[16]; Widget sme; char buf[256]; int i = 0; Arg args[1]; static int menuN; #endif option_str = NULL; options = opts; if (first) { Widget pane, form, viewport, bottom, popdown; first = 0; if (optionsShell == NULL) CreateOptionsShell(); pane = XtCreateManagedWidget("pane", panedWidgetClass, optionsShell, NULL, 0); form = XtCreateManagedWidget("commands", formWidgetClass, pane, NULL, 0); add = XtCreateManagedWidget("add", commandWidgetClass, form, NULL, 0); XtAddCallback(add, XtNcallback, AddOption, NULL); remov = XtCreateManagedWidget("remove", commandWidgetClass, form, NULL, 0); XtAddCallback(remov, XtNcallback, RemoveOption, NULL); update = XtCreateManagedWidget("update", commandWidgetClass, form, NULL, 0); XtAddCallback(update, XtNcallback, UpdateOption, NULL); #ifdef USE_MODULES if (!nomodules) { Widget command; command = XtCreateManagedWidget("help", commandWidgetClass, form, NULL, 0); XtAddCallback(command, XtNcallback, ModuleOptionsPopup, NULL); } #endif form = XtCreateManagedWidget("form", formWidgetClass, pane, NULL, 0); XtVaCreateManagedWidget("label1", labelWidgetClass, form, XtNlabel, " Option \"", NULL); name = XtVaCreateManagedWidget("name", asciiTextWidgetClass, form, XtNeditType, XawtextEdit, NULL); XtVaCreateManagedWidget("label2", labelWidgetClass, form, XtNlabel, "\" \"", NULL); value = XtVaCreateManagedWidget("value", asciiTextWidgetClass, form, XtNeditType, XawtextEdit, NULL); XtVaCreateManagedWidget("label3", labelWidgetClass, form, XtNlabel, "\" ", NULL); viewport = XtCreateManagedWidget("viewport", viewportWidgetClass, form, NULL, 0); list = XtCreateManagedWidget("list", listWidgetClass, viewport, NULL, 0); XtAddCallback(list, XtNcallback, SelectOptionCallback, NULL); bottom = XtCreateManagedWidget("bottom", formWidgetClass, pane, NULL, 0); #ifdef USE_MODULES if (!nomodules) button = XtCreateManagedWidget("driverOpts", menuButtonWidgetClass, bottom, NULL, 0); #endif popdown = XtVaCreateManagedWidget("popdown", commandWidgetClass, bottom, NULL); #ifdef USE_MODULES if (!nomodules) XtVaSetValues(popdown, XtNfromHoriz, button, NULL); #endif XtAddCallback(popdown, XtNcallback, PopdownCallback, NULL); XtRealizeWidget(optionsShell); XSetWMProtocols(DPY, XtWindow(optionsShell), &wm_delete_window, 1); #ifdef USE_MODULES if (!nomodules) { char *str; XtSetArg(args[0], XtNlabel, &str); XtGetValues(button, args, 1); XmuSnprintf(label, sizeof(label), "%s", str); } #endif } #ifdef USE_MODULES if (!nomodules) { if (menu) XtDestroyWidget(menu); XmuSnprintf(menuName, sizeof(menuName), "optionM%d", menuN); menuN = !menuN; menu = XtCreatePopupShell(menuName, simpleMenuWidgetClass, button, NULL, 0); XtVaSetValues(button, XtNmenuName, menuName, NULL); if (drv_opts) { int len, longest = 0; char fmt[32]; for (i = 0; drv_opts[i].name != NULL; i++) { len = strlen(drv_opts[i].name); if (len > longest) longest = len; } XmuSnprintf(fmt, sizeof(fmt), "%c-%ds %%s", '%', longest); for (; drv_opts->name != NULL; drv_opts++) { char *type; if (drv_opts->type >= OPTV_NONE && drv_opts->type <= OPTV_FREQ) type = types[drv_opts->type]; else type = "UNKNOWN"; XmuSnprintf(buf, sizeof(buf), fmt, drv_opts->name, type); sme = XtVaCreateManagedWidget(drv_opts->name, smeBSBObjectClass, menu, XtNlabel, buf, NULL); XtAddCallback(sme, XtNcallback, AddDriverOption, (XtPointer)drv_opts); } } if (i) { xf86cfgModuleOptions *mod = module_options; while (mod) { if (strcmp(mod->name, driver) == 0) { /* don't assign to driver, as it may be a temp string */ module_sel = mod->name; break; } mod = mod->next; } XmuSnprintf(buf, sizeof(buf), "%s%s", label, driver); XtSetArg(args[0], XtNlabel, buf); XtSetValues(button, args, 1); XtMapWidget(button); } else XtUnmapWidget(button); } #endif UpdateOptionList(); popped = True; XtPopup(optionsShell, XtGrabExclusive); while (popped) XtAppProcessEvent(XtWidgetToApplicationContext(optionsShell), XtIMAll); }
void IOWindow::OnDeviceChanged(const QString& device) { m_devq.FromString(device.toStdString()); UpdateOptionList(); }