NumeRe v1.1.4
NumeRe: Framework für Numerische Rechnungen
NumeReWindow.h
Go to the documentation of this file.
1#ifndef CHAMELEONWINDOW__H
2#define CHAMELEONWINDOW__H
3
4// For compilers that support precompilation, includes "wx/wx.h".
5#include "wx/wxprec.h"
6
7#ifdef __BORLANDC__
8#pragma hdrstop
9#endif
10
11// for all others, include the necessary headers (this file is usually all you
12// need because it includes almost all "standard" wxWindows headers
13#ifndef WX_PRECOMP
14#include <wx/wx.h>
15#endif
16
17#include <wx/treectrl.h>
18#include <wx/aui/auibook.h>
19#include <wx/snglinst.h>
20#include <vector>
21#include <utility>
22
23#include "NumeReStatusbar.hpp"
24#include "globals.hpp"
25#include "wx/dnd.h"
26#include "../common/datastructures.h"
27#include "../common/filewatcher.hpp"
28#include "../kernel/windowmanager.hpp"
29#include "../kernel/core/ui/language.hpp"
30#include "../kernel/core/utils/tools.hpp"
31#include "../kernel/core/plotting/graph_helper.hpp"
32#include "../kernel/core/datamanagement/container.hpp"
33#include "../kernel/core/datamanagement/table.hpp"
34#include "dialogs/tipdialog.hpp"
41
42#define OPENFILE_NOTHING 0
43#define OPENFILE_BLACKLIST_ADD 1
44#define OPENFILE_BLACKLIST_REMOVE 2
45#define OPENFILE_FORCE 4
46
97// forward declarations
98
99class wxFileConfig;
100class EditorNotebook;
101class wxTreeCtrl;
102class wxTextCtrl;
103class NumeReEditor;
104class NumeReHistory;
105class wxLogWindow;
106class wxTabCtrl;
107class IntIntHashmap;
108class WindowPointerArray;
109class wxPanel;
110class wxSplitterWindow;
111class OptionsDialog;
112class wxFileConfig;
113class wxTelnet;
114class wxMenu;
115class wxTreeItemId;
116class wxImageList;
117class wxNotebookEvent;
118class wxSplitterEvent;
119class wxTreeEvent;
120class wxStatusBar;
121class Options;
122class NumeReTerminal;
123class wxTermContainer;
124class VariableWatchPanel;
125class wxTimer;
126class wxListCtrl;
127class CompilerOutputPanel;
128class IconManager;
130class wxCHMHelpController;
131class DebugViewer;
132
133namespace DDE
134{
135 class Server;
136}
137
138
139
140
141//----------------------------------------------------------------------
142
150class MyApp : public wxApp
151{
152 public:
153 ~MyApp();
154 virtual bool OnInit() override;
155 virtual int OnExit() override;
156 virtual bool OnExceptionInMainLoop() override;
157
158 private:
159 wxSingleInstanceChecker* m_singlinst;
161 //virtual int OnRun();
162 //virtual void OnUnhandledException();
163};
164
165//----------------------------------------------------------------------
166
167
168extern Language _guilang;
169
170
176class NumeReWindow : public wxFrame
177{
178 public:
179 NumeReWindow(const wxString& title, const wxPoint& pos, const wxSize& size);
180
182
183 void SetIntVar(int variableName, int value);
184 int GetIntVar(int variableName);
185
186 void NewFile(FileFilterType _filetype = FILE_NONSOURCE, const wxString& defaultfilename = "");
187 void ShowRevision(const wxString& revisionName, const wxString& revisionContent);
188 void DefaultPage();
189 void OpenFileByType(const wxFileName& filename);
190 void OpenFilesFromList(const wxArrayString& filenameslist);
191 void OpenSourceFile(wxArrayString fnames, unsigned int nLine = 0, int nOpenFileFlag = OPENFILE_NOTHING);
192 void openImage(wxFileName filename);
193 void openPDF(wxFileName filename);
194 bool ShowHelp(const wxString& sDocId);
195 void openHTML(wxString HTMLcontent);
196 void openTable(NumeRe::Container<std::string> _stringTable, const std::string& tableDisplayName, const std::string& sIntName);
197 void openTable(NumeRe::Table _table, const std::string& tableDisplayName, const std::string& sIntName);
198 void editTable(NumeRe::Container<std::string> _stringTable, const std::string& tableDisplayName);
199 void editTable(NumeRe::Table _table, const std::string& tableDisplayName);
200 void showTable(const wxString& tableName, const wxString& tableDisplayName);
201 void showWindow(NumeRe::Window& window);
202 void pass_command(const wxString& command, bool isEvent = false);
203 void evaluateDebugInfo(const std::vector<std::string>& vDebugInfo);
204 void createLaTeXFile();
205 void runLaTeX();
206 void compileLaTeX();
207
208 void refreshFunctionTree();
209
211
212 void PassImageList(wxImageList* imagelist);
213
216
217 void updateTipAtStartupSetting(bool bTipAtStartup);
218 void EvaluateOptions();
219 void EvaluateCommandLine(wxArrayString& wxArgV);
220 wxString getProgramFolder();
221 void AddToHistory(const wxString& sCommand);
222 wxString GetDocContent(wxString docid);
223 std::vector<std::string> GetDocIndex();
225
227
229 std::vector<std::string> getPathDefs();
230
231 void addToReloadBlackList(const wxString& sFilename);
232 void removeFromReloadBlackList(const wxString& sFilename);
233 bool isOnReloadBlackList(wxString sFilename);
234 bool GetFileContents(wxString fileToLoad, wxString &fileContents, wxString &fileName);
235
236 wxTreeItemId getDragDropSourceItem();
237 wxString getTreePath(const wxTreeItemId& itemId);
238 wxString getTreeFolderPath(const wxTreeItemId& itemId);
239
240 void Ready();
241 void Busy();
242
243 void OnPrintSetup();
244 wxRect DeterminePrintSize();
246 void FindAndOpenProcedure(const wxString& procedureName);
247
248 void UpdateLocationIfOpen(const wxFileName& fname, const wxFileName& newFName);
249 void reloadFileIfOpen(const wxString& fname, bool force = false);
250
251 void registerWindow(wxWindow* window, WindowType type);
252 void unregisterWindow(wxWindow* window);
253 void closeWindows(WindowType type = WT_ALL);
254 wxIcon getStandardIcon();
255
257
258
259 private:
261 void prepareSession();
262
263 int CopyEditorSettings(FileFilterType _fileType);
264
265 void OnMenuEvent(wxCommandEvent& event);
266 void OnPluginMenuEvent(wxCommandEvent& event);
267 void OnAskForNewFile();
268 void OnHelp();
269 void OnAbout();
270 void OnPrintPreview();
271 void OnPrintPage();
272 void OnOptions();
273 void OnFindReplace(int id );
274 void OnCopyAsPath();
275 void OnOpenInExplorer();
276 void OnShowRevisions();
279 void OnCreateNewFolder();
280 void OnRemoveFolder();
281 void OnSaveSourceFile( int id );
282 void OnOpenSourceFile( int id );
283 void OnExecuteFile(const std::string& sFileName, int id);
285 void OnCreatePackage(const wxString& projectFile);
286 void OnCompareFiles();
287
288 void OnClose(wxCloseEvent& event);
289 void Test(wxCommandEvent& event);
290
291 void OnUpdateSaveUI();
292 void ToolbarStatusUpdate();
293 void OnIdle(wxIdleEvent &event);
294 void UpdateStatusBar();
295
296 void OnStatusTimer(wxTimerEvent &event);
297 void OnFileEventTimer(wxTimerEvent& event);
298
299 void OnSplitterDoubleClick(wxSplitterEvent &event);
300
301 void OnTreeItemRightClick(wxTreeEvent& event);
302 void OnTreeItemActivated(wxTreeEvent& event);
303 void OnTreeItemToolTip(wxTreeEvent& event);
304 void OnTreeDragDrop(wxTreeEvent& event);
305
306 wxString addLinebreaks(const wxString& sLine);
307 wxString getFileDetails(const wxFileName& filename);
308
309 void OnPageChange(wxAuiNotebookEvent& event);
310
311 void OnFindEvent(wxFindDialogEvent& event);
312
313 void OnFileSystemEvent(wxFileSystemWatcherEvent& event);
314 void CreateProcedureTree(const std::string& sProcedurePath);
315
316 void showGraph(NumeRe::Window& window);
317 void showFileDialog(NumeRe::Window& window);
318 void showDirDialog(NumeRe::Window& window);
319 void showTextEntry(NumeRe::Window& window);
320 void showMessageBox(NumeRe::Window& window);
321 void showListDialog(NumeRe::Window& window);
323
324 wxArrayString OpenFile(FileFilterType filterType );
325 bool SaveCurrentFile(bool saveas);
326 bool SaveTab(int tab);
327 bool SaveAll(bool refreshLibrary);
328 void CloseFile(int pageNr = -1, bool askforsave = true);
329 bool CloseAllFiles();
330 void CloseTab(bool force);
331 void CloseOtherTabs();
333 void EvaluateTab();
334 void PageHasChanged (int pageNr = -1);
335 int GetPageNum(wxFileName fn, bool compareWholePath = true, int startingTab = 0);
336 int HandleModifiedFile(int pageNr, ModifiedFileAction fileAction);
337
338 void LoadFilesToTree(wxString fromPath, FileFilterType fileType, wxTreeItemId treeid);
339
340 std::vector<std::string> getFileForInstaller(const std::string& sLayoutFileName);
341 wxString ConstructFilterString(FileFilterType filterType);
342 int FindString(const wxString &findString, int start_pos = -1, int flags = -1, bool highlight = TRUE);
343 int ReplaceAllStrings(const wxString &findString, const wxString &replaceString, int flags = -1);
344
345 void deleteFile();
346 void insertCopiedFile();
347 void renameFile();
348
349 void UpdateMenuBar();
350 void UpdatePackageMenu();
351 void UpdateToolbar();
353 void UpdateVarViewer();
354 void UpdateWindowTitle(const wxString& filename);
355 void toggleConsole();
356 void toggleFiletree();
357 void toggleHistory();
358 void showConsole();
359 void gotoLine();
360 void setEditorFocus();
361 void setViewerFocus();
362
363 void prepareFunctionTree();
364 std::string prepareTooltip(const std::string& sTooltiptext);
365
366 wxPrintData* setDefaultPrinterSettings();
367 int* SelectIntVar(int variableName);
368
370 wxLogWindow* logWindow;
371
372 // main widgets
380 //NumeReEditor* m_currentEd;
381
385
392
393 // Blacklist for suppressing the reloading and the corresponding dialog
394 std::vector<wxString> vReloadBlackList;
395
400 //wxPanel* panelEd;
406 wxSplitterWindow* m_splitProjectEditor;
408 CompilerOutputPanel* m_outputPanel;
414 VariableWatchPanel* m_watchPanel;
417
419 wxPanel* m_container1;
420 wxPanel* m_container2;
422
423 // dialogs
425
429
431 wxFindReplaceData m_findData;
432
434 wxTreeItemId m_projectFileFolders[5];
436 wxTreeItemId m_clickedTreeItem;
438 wxTreeItemId m_copiedTreeItem;
442
446
455
464 std::map<int, wxMenuItem*> m_menuItems;
465 std::vector<std::pair<int, wxString> > m_modifiedFiles;
466 std::map<wxWindow*, WindowType> m_openedWindows;
467 std::map<size_t, std::string> m_pluginMenuMap;
468
469
481
482 std::map<wxString, __time64_t> m_filesLastSaveTime;
484
485
486 DECLARE_EVENT_TABLE()
487
488
489};
490
491
492
493#endif
#define OPENFILE_NOTHING
Definition: NumeReWindow.h:42
Language _guilang
This class implements the DDE server for the first (main) NumeRe instance.
Definition: ipc.hpp:38
This class represents the notebook containing all editors of one main pane.
This class handles the internal language system and returns the language strings of the selected lang...
Definition: language.hpp:38
This class represents the application controller, which will create the main frame of the actual appl...
Definition: NumeReWindow.h:151
virtual bool OnExceptionInMainLoop() override
This handler should be called, if an unhandled exception propagated through the event loop....
DDE::Server * m_DDEServer
Definition: NumeReWindow.h:160
virtual bool OnInit() override
"Main program" equivalent: the program execution "starts" here. If we detect an already instance of N...
wxSingleInstanceChecker * m_singlinst
Definition: NumeReWindow.h:159
~MyApp()
Empty destructor.
virtual int OnExit() override
Called on application shut down. Will free the memory of the IPC class instances.
This data container is a copy- efficient table to interchange data between Kernel and GUI.
Definition: table.hpp:87
This class represents an abstract window handled by the window manager.
The class of the editor window.
Definition: editor.h:53
The terminal class for the GUI. It's a specialisation of the GenericTerminal.
Definition: terminal.hpp:46
This class is the actual NumeRe main frame. The application's logic is implemented here.
Definition: NumeReWindow.h:177
wxPanel * m_container1
Definition: NumeReWindow.h:419
wxString m_filterNPRCFiles
Definition: NumeReWindow.h:471
void editTable(NumeRe::Container< std::string > _stringTable, const std::string &tableDisplayName)
This member function displays the contents of the "string()" table or a cluster and enables editing i...
void OnStatusTimer(wxTimerEvent &event)
std::vector< std::string > GetDocIndex()
This member function returns the documentation index as a vector.
void EvaluateTab()
This member function executes the contents of the editor page connected to the selected tab.
EditorNotebook * m_book
Definition: NumeReWindow.h:374
void AddToHistory(const wxString &sCommand)
This function is a wrapper for the corresponding function from the history widget and stores the pass...
void OnPrintPreview()
This member function displays the styled text of the current editor in the print preview window.
void LoadFilesToTree(wxString fromPath, FileFilterType fileType, wxTreeItemId treeid)
This member function loads the file details to the file tree.
void deleteFile()
This member function moves the selected file from the file tree directly to the Windows trash bin,...
void OnPageChange(wxAuiNotebookEvent &event)
void Test(wxCommandEvent &event)
void addToReloadBlackList(const wxString &sFilename)
This member function adds the passed file name to the list of files, which shall not be reloaded auto...
void OnShowRevisions()
This method displays the revision dialog for the selected tree item.
wxString m_filterSupportedFiles
Definition: NumeReWindow.h:480
void unregisterWindow(wxWindow *window)
Removes the passed window form the internal window list (only if it exists).
void NewFile(FileFilterType _filetype=FILE_NONSOURCE, const wxString &defaultfilename="")
void OpenFileByType(const wxFileName &filename)
This member function opens the file with the passed name in the corresponding widget (either editor,...
void insertCopiedFile()
This member function copies the selected file in the file tree to the target location in the file tre...
void Ready()
This member function tells NumeRe that it shall display the "ready" state to the user.
wxString m_filterNonsource
Definition: NumeReWindow.h:479
void OnTagCurrentRevision()
This method allows the user to tag the current active revision of a file.
std::vector< wxString > vReloadBlackList
Definition: NumeReWindow.h:394
void showTable(const wxString &tableName, const wxString &tableDisplayName)
This member function is a wrapper for an event handler of the variable viewer to display the contents...
wxTreeItemId m_copiedTreeItem
Definition: NumeReWindow.h:438
void CloseOtherTabs()
This member function closes all other editor tabs except of the current selected one.
void UpdatePackageMenu()
Updates the package menu after an installation.
void OnCopyAsPath()
The member function copies the path of the selected tree item to the clipboard, so that it can be ins...
void showConsole()
This member function unhides the terminal, if it was hidden before.
MyTipProvider * tipProvider
Definition: NumeReWindow.h:214
void CreateProcedureTree(const std::string &sProcedurePath)
This member function finds every procedure in the default search path and adds them to the syntax aut...
bool GetFileContents(wxString fileToLoad, wxString &fileContents, wxString &fileName)
wxString getTreePath(const wxTreeItemId &itemId)
This member function returns the paths connected to a specific file or directory in the file tree.
wxRect DeterminePrintSize()
void OnRemoveFolder()
This member function moves the selected directory directly to the Windows trash bin,...
wxString m_filterNumeReFiles
Definition: NumeReWindow.h:473
void PassImageList(wxImageList *imagelist)
void OnOpenInExplorer()
This member function uses the Windows shell to open the selected folder in the Windows explorer.
void UpdateTerminalNotebook()
void OnUpdateSaveUI()
wxString ConstructFilterString(FileFilterType filterType)
void SetIntVar(int variableName, int value)
bool m_appStarting
Definition: NumeReWindow.h:460
wxString m_filterNLYTFiles
Definition: NumeReWindow.h:472
bool m_setSelection
Definition: NumeReWindow.h:458
void openTable(NumeRe::Container< std::string > _stringTable, const std::string &tableDisplayName, const std::string &sIntName)
This member function displays the contents of the "string()" table or a cluster.
void EvaluateOptions()
void FindAndOpenProcedure(const wxString &procedureName)
Wrapper for the corresponding function of the editor.
void UpdateToolbar()
void OnTreeItemActivated(wxTreeEvent &event)
void showWindow(NumeRe::Window &window)
This public member function handles the creation of windows requested by the kernel.
void OnPluginMenuEvent(wxCommandEvent &event)
Handles events, which originate from package menu (i.e. graphical plugins).
void OnOpenSourceFile(int id)
This member function opens a file dialog to let the user choose the files to open in the editor.
void Busy()
This member function tells NumeRe that it shall display the "busy" state to the user.
void runLaTeX()
This member function creates the LaTeX documentation files and uses the Windows shell to run the XeLa...
void UpdateStatusBar()
void notifyInstallationDone()
Notifies all instances of the PackagRepoBrowser to refresh its internal list of installed packages an...
std::vector< std::string > getPathDefs()
This member function returns the standard path definitions as a vector.
TreePanel * m_filePanel
Definition: NumeReWindow.h:390
void compileLaTeX()
This function runs the XeLaTeX compiler on the TeX source in the current editor (if it is a TeX sourc...
VariableWatchPanel * m_watchPanel
Definition: NumeReWindow.h:414
bool ShowHelp(const wxString &sDocId)
This member function displays the help page for the selected documentation ID.
wxString m_filterTeXSource
Definition: NumeReWindow.h:478
ViewerBook * m_noteTerm
Definition: NumeReWindow.h:376
void openImage(wxFileName filename)
This member function opens the selected image in the image viewer window.
FileFilterType m_projectSelectedFolderType
Definition: NumeReWindow.h:440
IconManager * m_iconManager
Definition: NumeReWindow.h:445
wxTreeItemId m_dragDropSourceItem
Definition: NumeReWindow.h:441
void forceHistoryPageDown()
This member function is a simple helper to force that the history displays the last line at start-up.
void OpenSourceFile(wxArrayString fnames, unsigned int nLine=0, int nOpenFileFlag=OPENFILE_NOTHING)
Opens the given list of source files in the editor.
ProcedureViewer * m_procedureViewer
Definition: NumeReWindow.h:384
void removeFromReloadBlackList(const wxString &sFilename)
This member function removes the passed file name from the list of files, which shall not be reloaded...
FileTree * m_functionTree
Definition: NumeReWindow.h:397
wxLogWindow * logWindow
Definition: NumeReWindow.h:370
wxString m_filterImageFiles
Definition: NumeReWindow.h:476
void OnTreeDragDrop(wxTreeEvent &event)
This member function prepares the data to be dragged from one of the both trees.
CompilerOutputPanel * m_outputPanel
Definition: NumeReWindow.h:408
std::map< wxWindow *, WindowType > m_openedWindows
Definition: NumeReWindow.h:466
void OnFindReplace(int id)
This member function displays the find and replace dialog.
void OnAskForNewFile()
This member function catches the new file toolbar button and asks the user for a specific file type.
void ShowRevision(const wxString &revisionName, const wxString &revisionContent)
This member function creates a new editor page and copies the passed revision contents to this page.
std::string m_UnrecoverableFiles
Definition: NumeReWindow.h:226
void setViewerFocus()
This member function focuses the last opened ImageViewer window.
int CopyEditorSettings(FileFilterType _fileType)
This member function returns the settings from the current editor for the passed FileFilterType.
void OnShowRevisionsFromTab()
This method displays the revision dialog for the selected tab item.
void InitializeProgramOptions()
This member function loads the configuration file available for the graphical user interface.
TreePanel * m_functionPanel
Definition: NumeReWindow.h:391
bool m_sessionSaved
Definition: NumeReWindow.h:457
void showListDialog(NumeRe::Window &window)
This private member function shows a list dialog.
void prepareFunctionTree()
This member function creates the contents of the symbols tree.
std::vector< std::string > getFileForInstaller(const std::string &sLayoutFileName)
This member function obtains the contents of a file and transforms it to be used by an installer scri...
wxTreeItemId m_projectFileFolders[5]
Definition: NumeReWindow.h:434
wxString m_fileToRefresh
Definition: NumeReWindow.h:483
NumeReWindow(const wxString &title, const wxPoint &pos, const wxSize &size)
NumeReEditor * GetCurrentEditor()
Public access method for accessing the currently viewed editor. Does only return a pointer to the top...
std::map< size_t, std::string > m_pluginMenuMap
Definition: NumeReWindow.h:467
void PageHasChanged(int pageNr=-1)
int ReplaceAllStrings(const wxString &findString, const wxString &replaceString, int flags=-1)
void OnTreeItemRightClick(wxTreeEvent &event)
wxTermContainer * m_debugTermContainer
Definition: NumeReWindow.h:412
void prepareSession()
This member function recreates the last session by reading the session file or creates a new empty se...
std::map< wxString, __time64_t > m_filesLastSaveTime
Definition: NumeReWindow.h:482
void showGraph(NumeRe::Window &window)
This private member function displays a graph.
void updateTipAtStartupSetting(bool bTipAtStartup)
This function can be used to deactivate the "Tip of the day" functionality directly from the dialog.
VariableViewer * m_varViewer
Definition: NumeReWindow.h:383
bool m_loadingFilesDuringStartup
Definition: NumeReWindow.h:463
ProportionalSplitterWindow * m_splitCommandHistory
Definition: NumeReWindow.h:404
void OnCompareFiles()
Event handler for comparing two files using the diff functionalities.
FileTree * m_fileTree
Definition: NumeReWindow.h:388
wxIcon getStandardIcon()
This public member function returns the default icon usable by different windows.
bool CloseAllFiles()
void showFileDialog(NumeRe::Window &window)
This private member function displays a file dialog.
wxTreeItemId getDragDropSourceItem()
This member function gets the drag-drop source item, if the source was the file tree.
ProportionalSplitterWindow * m_splitEditorOutput
Definition: NumeReWindow.h:402
void EvaluateCommandLine(wxArrayString &wxArgV)
This member function evaluates the command line passed to this application at startup and evaluates,...
void OnExecuteFile(const std::string &sFileName, int id)
This function executes the file in the current editor.
void UpdateVarViewer()
This member function gets the current variable list from the kernel and updates the variable viewer w...
wxString m_filterDataFiles
Definition: NumeReWindow.h:475
void toggleConsole()
This member function toggles the bottom part of the window containing the terminal and the list view ...
void OnClose(wxCloseEvent &event)
void OnTreeItemToolTip(wxTreeEvent &event)
This member function displays the tooltip requested for the item below the mouse cursor.
NumeReTerminal * getTerminal()
Definition: NumeReWindow.h:228
void OpenFilesFromList(const wxArrayString &filenameslist)
This member function opens a list of files depending on their type in the correct widget.
Options * getOptions()
Definition: NumeReWindow.h:245
wxString getFileDetails(const wxFileName &filename)
This member function displays extended file informations of NDAT files, if this was enabled in the se...
bool isOnReloadBlackList(wxString sFilename)
This member function returns true, if the passed file name is currently part of the list of files,...
void OnOptions()
This member function displays the settings dialog and performs all necessary updates,...
void closeWindows(WindowType type=WT_ALL)
Close all windows of the selected WindowType or simply use WT_ALL to close all terminal-closable floa...
void OnIdle(wxIdleEvent &event)
void OnFileEventTimer(wxTimerEvent &event)
This member function handles the events from the file event timer.
void OnCalculateDependencies()
This member function runs the dependency calculating process in the procedure library.
void evaluateDebugInfo(const std::vector< std::string > &vDebugInfo)
This function will pass the obtained debugging information to the debug viewer. If this object does n...
int * SelectIntVar(int variableName)
wxString m_filterExecutableFiles
Definition: NumeReWindow.h:474
wxSplitterWindow * m_splitProjectEditor
Definition: NumeReWindow.h:406
int GetPageNum(wxFileName fn, bool compareWholePath=true, int startingTab=0)
void OpenContainingFolder()
This member function uses the Windows shell to open the containing folder of the selected tab in the ...
OptionsDialog * m_optionsDialog
Definition: NumeReWindow.h:424
wxTreeItemId m_clickedTreeItem
Definition: NumeReWindow.h:436
NumeReStatusbar * m_statusBar
Definition: NumeReWindow.h:399
void renameFile()
This member function renames the selected file in the file tree with a new name provided by the user ...
Filewatcher * m_watcher
Definition: NumeReWindow.h:389
void DefaultPage()
This member function creates a new editor page and copies the contents of the default page template t...
void toggleFiletree()
This member function toggles the left sidebar of the window containing both trees.
std::map< int, wxMenuItem * > m_menuItems
Definition: NumeReWindow.h:464
bool m_currentlyDebugging
Definition: NumeReWindow.h:461
void pass_command(const wxString &command, bool isEvent=false)
This member function is a wrapper for the corresponding terminal function to pass a command to the ke...
ViewerFrame * m_currentView
Definition: NumeReWindow.h:386
void OnSplitterDoubleClick(wxSplitterEvent &event)
wxTimer * m_updateTimer
Definition: NumeReWindow.h:427
void OnSaveSourceFile(int id)
This member function saves the file in the current editor.
void showSelectionDialog(NumeRe::Window &window)
This private member function shows a selection dialog.
int GetIntVar(int variableName)
wxFindReplaceData m_findData
Definition: NumeReWindow.h:431
void toggleHistory()
This member function toggles the rightmost part of the lower window section containing the history an...
void OnPrintPage()
This member function prints the styled text of the current editor.
void UpdateMenuBar()
void ToolbarStatusUpdate()
NumeReHistory * m_history
Definition: NumeReWindow.h:382
void OnFindEvent(wxFindDialogEvent &event)
ProportionalSplitterWindow * m_watchPanelSplitter
Definition: NumeReWindow.h:421
void createLaTeXFile()
This member function uses the parsed contents from the current editor to create a new LaTeX file from...
wxString m_filterAllFiles
Definition: NumeReWindow.h:477
wxString getTreeFolderPath(const wxTreeItemId &itemId)
This member function returns the paths connected to a specific directory in the file tree.
NumeReTerminal * m_terminal
Definition: NumeReWindow.h:416
void CloseFile(int pageNr=-1, bool askforsave=true)
Closes a given editor, based on its index in the editor notebook.
DebugViewer * m_debugViewer
Definition: NumeReWindow.h:444
void setEditorFocus()
This member function focuses the editor widget.
void showDirDialog(NumeRe::Window &window)
This private member function displays a directory dialog.
wxPrintData * setDefaultPrinterSettings()
This member function sets the default printer settings.
int HandleModifiedFile(int pageNr, ModifiedFileAction fileAction)
Handle user interaction when closing or reloading an editor.
wxPanel * m_watchPanelContainer
Definition: NumeReWindow.h:418
Options * m_options
Definition: NumeReWindow.h:443
void openPDF(wxFileName filename)
This member function opens a PDF document using the windows shell.
void gotoLine()
This member function opens a text entry dialog, where the user can enter the target line number,...
wxTimer * m_fileEventTimer
Definition: NumeReWindow.h:428
void OnPrintSetup()
This member function displays the printing page setup dialog.
void refreshFunctionTree()
This member function is a simple wrapper for refreshing the contents of the function tree.
void reloadFileIfOpen(const wxString &fname, bool force=false)
Reloads a file if it is open in any editor.
wxString getProgramFolder()
This member function returns the application's root path.
void UpdateWindowTitle(const wxString &filename)
This member function updates the application's window title using the current opened file's name.
void OnMenuEvent(wxCommandEvent &event)
wxPanel * m_container2
Definition: NumeReWindow.h:420
void OnCreatePackage(const wxString &projectFile)
This member function launches the package creator dialog and creates the install file,...
void showMessageBox(NumeRe::Window &window)
This private member function displays a message box.
int FindString(const wxString &findString, int start_pos=-1, int flags=-1, bool highlight=TRUE)
void registerWindow(wxWindow *window, WindowType type)
Registers a new window in the internal map.
bool SaveAll(bool refreshLibrary)
Saves all currently opened files to the harddisk.
wxArrayString OpenFile(FileFilterType filterType)
bool m_multiRowState
Definition: NumeReWindow.h:462
void OnAbout()
This member function displays the "About" dialog.
void OnHelp()
This member function displays the help root page.
wxString GetDocContent(wxString docid)
This member function returns the HTML string containing the documentation for the selected topic/doc ...
ViewerBook * m_treeBook
Definition: NumeReWindow.h:378
void OnFileSystemEvent(wxFileSystemWatcherEvent &event)
This member function handles all events, which result from changes in the file system.
bool showTipAtStartup
Definition: NumeReWindow.h:215
bool SaveTab(int tab)
Saves the file in the selected editor tab.
bool SaveCurrentFile(bool saveas)
Saves the current opened file.
void OnCreateNewFolder()
This member function creates a new folder below the currently selected folder. The name is supplied b...
wxString m_filterNSCRFiles
Definition: NumeReWindow.h:470
wxTermContainer * m_termContainer
Definition: NumeReWindow.h:410
void showTextEntry(NumeRe::Window &window)
This private member function displays a text entry dialog.
wxString addLinebreaks(const wxString &sLine)
This member function adds line break characters to the passed string to stick below a line length of ...
std::vector< std::pair< int, wxString > > m_modifiedFiles
Definition: NumeReWindow.h:465
void UpdateLocationIfOpen(const wxFileName &fname, const wxFileName &newFName)
Updates the editor's and notebook's filename location, if it already opened and not modified.
void CloseTab(bool force)
std::string prepareTooltip(const std::string &sTooltiptext)
This member function prepares the tooltip shown by the symbols tree.
void openHTML(wxString HTMLcontent)
This member function opens a HTML document (a documentation article) in the documentation viewer.
This class represents the settings dialog in memory.
This class implements an interface of the internal Settings object adapted to be usable from the GUI.
Definition: Options.h:178
This class represents a splitter window, which can controlled using a floating point proportion inste...
This class generalizes a set of basic floating window functionalities like being closable by pressing...
Definition: viewerframe.hpp:31
WindowType
This enumeration defines all terminal- closable window types.
@ WT_ALL
FileFilterType
@ FILE_NONSOURCE
ModifiedFileAction
Definition: ipc.cpp:25
#define TRUE
Definition: resampler.cpp:38