static void sgrabClicked(WMWidget * w, void *data) { _Panel *panel = (_Panel *) data; Display *dpy = WMScreenDisplay(WMWidgetScreen(panel->parent)); char *shortcut; if (w == panel->sclearB) { WMSetTextFieldText(panel->shortT, ""); updateMenuItem(panel, panel->currentItem, panel->shortT); return; } if (!panel->capturing) { panel->capturing = 1; WMSetButtonText(w, _("Cancel")); XGrabKeyboard(dpy, WMWidgetXID(panel->parent), True, GrabModeAsync, GrabModeAsync, CurrentTime); shortcut = capture_shortcut(dpy, &panel->capturing, 0); if (shortcut) { WMSetTextFieldText(panel->shortT, shortcut); updateMenuItem(panel, panel->currentItem, panel->shortT); wfree(shortcut); } } panel->capturing = 0; WMSetButtonText(w, _("Capture")); XUngrabKeyboard(dpy, CurrentTime); }
static void browseForFile(WMWidget * self, void *clientData) { _Panel *panel = (_Panel *) clientData; WMFilePanel *filePanel; char *text, *oldprog, *newprog; filePanel = WMGetOpenPanel(WMWidgetScreen(self)); text = WMGetTextFieldText(panel->commandT); oldprog = wtrimspace(text); wfree(text); if (oldprog[0] == 0 || oldprog[0] != '/') { wfree(oldprog); oldprog = wstrdup("/"); } else { char *ptr = oldprog; while (*ptr && !isspace(*ptr)) ptr++; *ptr = 0; } WMSetFilePanelCanChooseDirectories(filePanel, False); if (WMRunModalFilePanelForDirectory(filePanel, panel->parent, oldprog, _("Select Program"), NULL) == True) { newprog = WMGetFilePanelFileName(filePanel); WMSetTextFieldText(panel->commandT, newprog); updateMenuItem(panel, panel->currentItem, panel->commandT); wfree(newprog); } wfree(oldprog); }
static void buttonClicked(WMWidget * w, void *data) { _Panel *panel = (_Panel *) data; WEditMenuItem *item = panel->currentItem; updateMenuItem(panel, item, w); }
AIErr handlePluginCaller( char* caller, char* selector, void *message ) { AIErr error = kNoErr; // This is just an easy way of not having to cast message to ( SPMessageData* ) // everytime we use IsEqual() SPBasicSuite *sSPBasic = ( ( SPMessageData* )message)->basic; if ( sSPBasic->IsEqual( caller, kCallerAIFileFormat ) ) { if ( sSPBasic->IsEqual( selector, kSelectorAIGetFileFormatParameters ) ) error = goGetFormatParms( ( AIFileFormatMessage* )message ); else if ( sSPBasic->IsEqual( selector, kSelectorAIGoFileFormat ) ) error = goFileFormat( ( AIFileFormatMessage* )message ); else if ( sSPBasic->IsEqual( selector, kSelectorAICheckFileFormat ) ) error = goCheckFormat( ( AIFileFormatMessage* )message ); } else if ( sSPBasic->IsEqual( caller, kCallerAIMenu ) ) { if ( sSPBasic->IsEqual( selector, kSelectorAIGoMenuItem ) ) error = goMenuItem( ( AIMenuMessage* )message ); else if ( sSPBasic->IsEqual( selector, kSelectorAIUpdateMenuItem ) ) error = updateMenuItem( ( AIMenuMessage* )message ); } return error; }
static void dataChanged(void *self, WMNotification * notif) { _Panel *panel = (_Panel *) self; WEditMenuItem *item = panel->currentItem; WMWidget *w = (WMWidget *) WMGetNotificationObject(notif); updateMenuItem(panel, item, w); }