/******************************************************************************* Name: IntSave Description: Eexecutes CLIPS' bsave, save-facts, or save functions Arguments: w - Dialog Widget client_data - Not Used call_data - Not Used Returns: None *******************************************************************************/ void IntSave( Widget w, XtPointer client_data, XtPointer call_data) { char *filename = XawDialogGetValueString(XtParent(w)); switch(file_item) { case SAVEBINARY: PrintRouter("wclips", "(bsave "); SetCommandString("(bsave"); AppendCommandString("\""); PrintRouter("wclips", "\""); AppendCommandString(filename); PrintRouter("wclips", filename); AppendCommandString("\""); PrintRouter("wclips", "\""); AppendCommandString(")\n"); PrintRouter("wclips", ")\n"); quit_get_event = True; break; case SAVEFACTS: PrintRouter("wclips", "(save-facts "); SetCommandString("(save-facts"); AppendCommandString("\""); PrintRouter("wclips", "\""); AppendCommandString(filename); PrintRouter("wclips", filename); AppendCommandString("\""); PrintRouter("wclips", "\""); AppendCommandString(")\n"); PrintRouter("wclips", ")\n"); quit_get_event = True; break; case SAVERULES: PrintRouter("wclips", "(save "); SetCommandString("(save"); AppendCommandString("\""); PrintRouter("wclips", "\""); AppendCommandString(filename); PrintRouter("wclips", filename); AppendCommandString("\""); PrintRouter("wclips", "\""); AppendCommandString(")\n"); PrintRouter("wclips", ")\n"); quit_get_event = True; break; } XtDestroyWidget(XtParent(XtParent(w))); }
STLServerCommandSetNoiseAmplitudeSPLXXX::STLServerCommandSetNoiseAmplitudeSPLXXX(wxSocketBase & sock,StartleLUT * const lut) #endif :STLCommandSetNoiseAmplitudeSPLXXX(0,lut), GSISocketXXX(sock) { SetCommandString("STLCommandSetNoiseAmplitudeSPLXXX"); }
/*************************************************************** STLServerCommandExecute ::STLServerCommandExecute ****************************************************************/ STLServerCommandExecuteXXX::STLServerCommandExecuteXXX(wxSocketBase & sock) :STLCommandExecuteXXX(), GSISocketXXX(sock) { SetCommandString("STLCommandExecuteXXX"); }
/*************************************************** STLServerCommandAcquireXXX ::STLServerCommandAcquireXXX ****************************************************/ STLServerCommandAcquireXXX::STLServerCommandAcquireXXX(wxSocketBase & sock) :STLCommandAcquireXXX(), //use default parameters as socket will read GSISocketXXX(sock) { SetCommandString("STLCommandAcquireXXX"); }
/******************************************************************************* Name: LoadRules Description: Loads rules into CLIPS Arguments: str - file to load Returns: None *******************************************************************************/ void LoadRules( char *str) { PrintRouter("wclips", "(load "); SetCommandString("(load"); GetFileForCLIPS(str); PrintRouter("wclips", ")\n"); AppendCommandString(")\n"); quit_get_event = True; }
/******************************************************************************* Name: IntDribbleOn Description: Turns on dribble Arguments: str - file to dribble to Returns: None *******************************************************************************/ void IntDribbleOn( String str) { if(!EvaluatingTopLevelCommand) PrintRouter("wclips", "(dribble-on "); SetCommandString("(dribble-on"); GetFileForCLIPS(str); if(!EvaluatingTopLevelCommand) PrintRouter("wclips", ")\n"); AppendCommandString(")\n"); quit_get_event = True; if (((access(str, 02) == 0) || (access(str, 00))) && (strcmp(str, "\0") != 0)) { Dribble_status = True; XtSetArg(args[0], XtNleftBitmap, checker); XtSetValues(file_dribble, args, 1); } }
/******************************************************************************* Name: DribbleCallback Description: Called when Dribble is selected form File menu Arguments: w - menu item that was selected client_data - entry number on menu call_data - not used Returns: None *******************************************************************************/ void DribbleCallback( Widget w, XtPointer client_data, XtPointer call_data) { MoveEndOfFile(dialog_text, &event); file_item = DRIBBLEON; if (Dribble_status) { XtSetArg(args[0], XtNleftBitmap, None); XtSetValues(file_dribble, args, 1); SetCommandString("(dribble-off)\n"); if(!EvaluatingTopLevelCommand) PrintRouter("wclips","(dribble-off)\n"); quit_get_event = True; Dribble_status = !Dribble_status; } else FileSelect(); }
long DoLoad ( HWND hMain, WORD LoadType) { OPENFILENAME ofn; extern HANDLE hInst; char File[256], FileTitle[256], Filter[256]; UINT i, cbString; char Replace; File[0] = '\0'; memset ( &ofn,0, sizeof (OPENFILENAME)); /*---------------------------------------------+ | Initialize Common Dialog based on File Type. | +---------------------------------------------*/ switch ( LoadType ) { case IDM_FILE_LOAD: { ofn.lpstrTitle = "Load CLIPS Constructs"; if ((cbString = LoadString ( (HINSTANCE) hInst, IDS_RULES, Filter, sizeof (Filter))) == 0 ) return 0L; break; } case IDM_FILE_LBATCH: { ofn.lpstrTitle = "Load CLIPS Batch File"; if ((cbString = LoadString ( (HINSTANCE) hInst, IDS_BATCH, Filter, sizeof (Filter))) == 0 ) return 0L; break; } case IDM_FILE_LBINARY: { ofn.lpstrTitle = "Load CLIPS Binary File"; if ((cbString = LoadString ( (HINSTANCE) hInst, IDS_BINARY, Filter, sizeof (Filter))) == 0 ) return 0L; break; } } Replace = Filter[cbString-1]; for (i=0; Filter[i] != '\0'; i++) if ( Filter[i] == Replace) Filter[i] = '\0'; ofn.lStructSize = sizeof ( OPENFILENAME ); ofn.hwndOwner = hMain; ofn.lpstrFilter = Filter; ofn.nFilterIndex = 1; ofn.lpstrFile = File; ofn.nMaxFile = sizeof (File ); ofn.lpstrFileTitle = FileTitle; ofn.nMaxFileTitle = sizeof (FileTitle); ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; /*--------------------+ | Issue CLIPS Command | +--------------------*/ if ( GetOpenFileName ( &ofn ) ) { int x, size; UpdateCursor(WAIT_CURSOR); /*-----------------+ | Adjust Path Info | +-----------------*/ size = strlen(ofn.lpstrFile ); for ( x=0; x<size ; x++) if ( ofn.lpstrFile [x] == '\\' ) ofn.lpstrFile [x] = '/'; switch ( LoadType ) { case IDM_FILE_LOAD: SetCommandString("(load \""); break; case IDM_FILE_LBATCH: SetCommandString("(batch \""); break; case IDM_FILE_LBINARY: SetCommandString("(bload \""); break; } AppendCommandString ( ofn.lpstrFile ); AppendCommandString ( "\")\n"); PrintCLIPS ( "stdout", GetCommandString()); UpdateCursor ( ARROW_CURSOR ); PrintPrompt(); } return 0L; }
void DoLoad( HWND hMain, WORD LoadType) { OPENFILENAME ofn; char File[256], FileTitle[256], Filter[256]; UINT i; int cbString; char Replace; int x; size_t size; void *theEnv = GetCurrentEnvironment(); File[0] = '\0'; memset(&ofn,0,sizeof(OPENFILENAME)); /*==============================================*/ /* Initialize Common Dialog based on File Type. */ /*==============================================*/ switch(LoadType) { case ID_FILE_LOAD: ofn.lpstrTitle = "Load CLIPS Constructs"; if ((cbString = LoadString(GetWindowInstance(hMain),IDS_RULES,Filter,sizeof(Filter))) == 0) { return; } break; case ID_FILE_LOAD_BATCH: ofn.lpstrTitle = "Load CLIPS Batch File"; if ((cbString = LoadString(GetWindowInstance(hMain),IDS_BATCH,Filter,sizeof(Filter))) == 0) { return; } break; case ID_FILE_LOAD_BINARY: ofn.lpstrTitle = "Load CLIPS Binary File"; if ((cbString = LoadString(GetWindowInstance(hMain),IDS_BINARY,Filter,sizeof(Filter))) == 0) { return; } break; } Replace = Filter[cbString-1]; for (i = 0; Filter[i] != '\0'; i++) { if (Filter[i] == Replace) { Filter[i] = '\0'; } } ofn.lStructSize = sizeof ( OPENFILENAME ); ofn.hwndOwner = hMain; ofn.lpstrFilter = Filter; ofn.nFilterIndex = 1; ofn.lpstrFile = File; ofn.nMaxFile = sizeof (File ); ofn.lpstrFileTitle = FileTitle; ofn.nMaxFileTitle = sizeof (FileTitle); ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST; /*==========================*/ /* Perform the file dialog. */ /*==========================*/ if (! GetOpenFileName(&ofn)) { return; } /*==========================*/ /* Adjust Path Information. */ /*==========================*/ size = strlen(ofn.lpstrFile); for (x = 0; x < (int) size; x++) { if (ofn.lpstrFile[x] == '\\') { ofn.lpstrFile[x] = '/'; } } ClearCommandFromDisplay(DialogWindow,theEnv); /*======================*/ /* Issue CLIPS Command. */ /*======================*/ switch(LoadType) { case ID_FILE_LOAD: SetCommandString(theEnv,"(load \""); break; case ID_FILE_LOAD_BATCH: SetCommandString(theEnv,"(batch \""); break; case ID_FILE_LOAD_BINARY: SetCommandString(theEnv,"(bload \""); break; } AppendCommandString(theEnv,ofn.lpstrFile ); AppendCommandString(theEnv,"\")\n"); EnvPrintRouter(theEnv,WPROMPT,GetCommandString(theEnv)); }
void SaveBinaryFile( HWND hMain) { char File[256], FileTitle[256], Filter[256]; UINT i; int cbString; char Replace; OPENFILENAME ofn; int x; size_t size; void *theEnv = GetCurrentEnvironment(); File[0] = '\0'; memset ( &ofn,0, sizeof (OPENFILENAME)); ofn.lpstrTitle = "Save CLIPS File as Binary"; if ((cbString = LoadString (GetWindowInstance(hMain), IDS_BINARY, Filter, sizeof (Filter))) == 0 ) return; Replace = Filter[cbString-1]; for (i=0; Filter[i] != '\0'; i++) if ( Filter[i] == Replace) Filter[i] = '\0'; ofn.lStructSize = sizeof ( OPENFILENAME ); ofn.hwndOwner = hMain; ofn.lpstrFilter = Filter; ofn.nFilterIndex = 1; ofn.lpstrFile = File; ofn.nMaxFile = sizeof (File ); ofn.lpstrFileTitle = FileTitle; ofn.nMaxFileTitle = sizeof (FileTitle); ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY; /*==========================*/ /* Perform the file dialog. */ /*==========================*/ if (! GetSaveFileName(&ofn)) { return; } /*==========================*/ /* Adjust Path Information. */ /*==========================*/ size = strlen(ofn.lpstrFile); for (x = 0; x < (int) size; x++) { if (ofn.lpstrFile[x] == '\\') { ofn.lpstrFile[x] = '/'; } } /*======================*/ /* Issue CLIPS Command. */ /*======================*/ ClearCommandFromDisplay(DialogWindow,theEnv); SetCommandString(theEnv,"(bsave \""); AppendCommandString(theEnv,ofn.lpstrFile); AppendCommandString(theEnv,"\")\n"); EnvPrintRouter(theEnv,WPROMPT,GetCommandString(theEnv)); }
void OpenDribbleFile( HWND hMain, WORD wParam) { OPENFILENAME ofn; char File[256], FileTitle[256], Filter[256]; UINT i; int cbString; char Replace; int x; size_t size; void *theEnv = GetCurrentEnvironment(); HMENU hMenu = GetMenu(hMain); if (! EnvDribbleActive(theEnv)) { sprintf(File,"dribble.txt"); memset ( &ofn,0, sizeof (OPENFILENAME)); ofn.lpstrTitle = "Select CLIPS Dribble File"; if ((cbString = LoadString(GetWindowInstance(hMain),IDS_TEXT_FILES,Filter,sizeof(Filter))) == 0) { return; } Replace = Filter[cbString-1]; for (i=0; Filter[i] != '\0'; i++) { if (Filter[i] == Replace) { Filter[i] = '\0'; } } ofn.lStructSize = sizeof (OPENFILENAME); ofn.hwndOwner = hMain; ofn.lpstrFilter = Filter; ofn.nFilterIndex = 1; ofn.lpstrFile = File; ofn.nMaxFile = sizeof (File ); ofn.lpstrFileTitle = FileTitle; ofn.nMaxFileTitle = sizeof (FileTitle); ofn.lpstrInitialDir = NULL; ofn.Flags = OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY; /*==========================*/ /* Perform the file dialog. */ /*==========================*/ if (! GetOpenFileName(&ofn)) { return; } /*==========================*/ /* Adjust Path Information. */ /*==========================*/ size = strlen(ofn.lpstrFile); for (x = 0; x < (int) size; x++) { if (ofn.lpstrFile[x] == '\\') { ofn.lpstrFile[x] = '/'; } } /*=====================================*/ /* Issue the CLIPS dribble-on command. */ /*=====================================*/ ModifyMenu(hMenu,wParam,MF_BYCOMMAND,wParam,"Turn Dribble Off"); ClearCommandFromDisplay(DialogWindow,theEnv); SetCommandString(theEnv,"(dribble-on \""); AppendCommandString(theEnv,ofn.lpstrFile); AppendCommandString(theEnv,"\")\n"); EnvPrintRouter(theEnv,WPROMPT,GetCommandString(theEnv)); } else { /*======================================*/ /* Issue the CLIPS dribble-off command. */ /*======================================*/ ModifyMenu(hMenu,wParam,MF_BYCOMMAND,wParam,"Turn Dribble On..."); ClearCommandFromDisplay(DialogWindow,theEnv); SetCommandString(theEnv,"(dribble-off)\n"); EnvPrintRouter(theEnv,WPROMPT,GetCommandString(theEnv)); } }
/*! errorType STLServerCommandResetyXXX::STLServerCommandResetXXX ctor */ STLServerCommandResetXXX::STLServerCommandResetXXX(wxSocketBase &sock) :GSISocketXXX(sock) { SetCommandString("STLServerCommandResetXXX"); }
/*! errorType STLServerCommandSetFrequencyXXX::STLServerCommandSetFrequencyXXX(const wxString & device) ctor Read the frequecy in Hz from the socket client */ STLServerCommandSetFrequencyXXX::STLServerCommandSetFrequencyXXX(wxSocketBase &sock) :GSISocketXXX(sock) { SetCommandString("STLServerCommandSetFrequencyXXX"); }
/*! errorType STLServerCommandCloseDeviceXXX::STLServerCommandOpenDeviceXXX(const wxString & device) ctor Read the device name from the socket client # wxInt16 lengthOfSstring # char buff[lengthOfString] */ STLServerCommandCloseDeviceXXX::STLServerCommandCloseDeviceXXX(wxSocketBase &sock) //:STLServerCommandXXX(sock) :GSISocketXXX(sock) { SetCommandString("STLServerCommandCloseDeviceXXX"); }
/*! ***************************************************************************** STLServerCommandWaitForCompletionXXX ::STLServerCommandWaitForCompletionXXX ****************************************************************************/ STLServerCommandWaitForCompletionXXX::STLServerCommandWaitForCompletionXXX(wxSocketBase & sock) :STLCommandWaitForCompletionXXX(), GSISocketXXX(sock) { SetCommandString("STLWaitForCompletionXXX"); }
void GetUserCmd ( WORD wParam, /* Key Code */ BOOL ScreenOnly, /* Send to Screen and or Command Buffer */ int InputSize) /* Number of characters send to screen only */ { extern int HorizScroll; /* Automatic Scrolling Enabled/Disabled */ switch (wParam) { extern SCREEN WinDialog; extern int UserInput; /*------------------+ | Handle Back Space | +------------------*/ case VK_BACK: { /*-----------------------------------------------+ | Init Values when sending to the command buffer | +-----------------------------------------------*/ if (! ScreenOnly) { HorizScroll = 1; if (GetCommandString() != NULL) { InputSize = strlen(GetCommandString()); } else { InputSize = 0; } } if (InputSize > 0 ) { int size; if (Terminal[WinDialog.LastLine] != NULL) { size = strlen(Terminal[WinDialog.LastLine]); } else { size = 0; } if (!ScreenOnly) ExpandCommandString ('\b'); if (size > 0) Terminal[WinDialog.LastLine][size - 1] = '\0'; else { int min, max; extern int OldLine; if ( Terminal[WinDialog.LastLine] != NULL ) { free(Terminal[WinDialog.LastLine]); Terminal[WinDialog.LastLine] = NULL; } WinDialog.LastLine --; OldLine --; if ( WinDialog.LastLine < 0 ) WinDialog.LastLine = DIALOG_SIZE; GetScrollRange (WinDialog.hWnd, SB_VERT, &min, &max); if ( WinDialog.NoLines < max && max < DIALOG_SIZE ) { SetScrollRange ( WinDialog.hWnd, SB_VERT, WinDialog.NoLines, max-1, FALSE ); SetScrollPos ( WinDialog.hWnd, SB_VERT, max-1, FALSE ); } InvalidateRect ( WinDialog.hWnd, NULL, TRUE ); } SendToScreen(); } break; } /*--------------------------+ | Remove Special Keys (ALT) | +--------------------------*/ case '\f': case VK_MENU: break; /*----------------+ | Handle Tab Keys | +----------------*/ case '\t': { if ( !ScreenOnly) { if ( GetCommandString() == NULL) SetCommandString(" "); else AppendCommandString(" "); } PrintCLIPS ("stdout", " " ); break; } /*---------------------+ | Return / Newline Key | +---------------------*/ case '\r': case '\n': { wParam = (int)'\n'; if (GetScrollPos (WinDialog.hWnd, SB_HORZ) != 0) { SetScrollPos ( WinDialog.hWnd, SB_HORZ, 0, TRUE ); InvalidateRect(WinDialog.hWnd, NULL, FALSE); SendMessage ( WinDialog.hWnd, WM_PAINT, 0, 0 ); } } /*---------------------+ | All other characters | +---------------------*/ default: { char text[2]; text[0] = (char) wParam; text[1] = '\0'; if(isprint ( text[0]) || isspace (text[0])) { /*----------------------------+ | Add to CLIPS Command Buffer | +----------------------------*/ if (!ScreenOnly) { if ( GetCommandString() == NULL) SetCommandString(text); else AppendCommandString(text); } PrintCLIPS ("stdout", text ); } break; } } HorizScroll = 0; }
/*! errorType STLServerCommandSetNoiseAmplitudeLUTValueXXX::STLServerCommandSetNoiseAmplitudeLUTValueXXX(const wxString & device) ctor */ STLServerCommandSetNoiseAmplitudeLUTValueXXX::STLServerCommandSetNoiseAmplitudeLUTValueXXX(wxSocketBase &sock) :STLCommandSetNoiseAmplitudeLUTValueXXX(), GSISocketXXX(sock) { SetCommandString("STLServerCommandSetNoiseAmplitudeLUTValueXXX"); }