3Depict
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Enumerations | Functions | Variables
mainFrame.cpp File Reference
#include "mainFrame.h"
#include <wx/colordlg.h>
#include <wx/aboutdlg.h>
#include <wx/progdlg.h>
#include <wx/display.h>
#include <wx/process.h>
#include <wx/dir.h>
#include <wx/imaglist.h>
#include <wx/stdpaths.h>
#include <wx/tipdlg.h>
#include <wx/utils.h>
#include "common/voxels.h"
#include "gui/dialogs/StashDialog.h"
#include "gui/dialogs/resolutionDialog.h"
#include "gui/dialogs/ExportRngDialog.h"
#include "gui/dialogs/ExportPos.h"
#include "gui/dialogs/prefDialog.h"
#include "gui/dialogs/autosaveDialog.h"
#include "gui/dialogs/filterErrorDialog.h"
#include "gui/dialogs/animateFilterDialog.h"
#include "gui/dialogs/rangeEditDialog.h"
#include "common/stringFuncs.h"
#include "art.h"
#include "backend/filters/rangeFile.h"
#include "backend/filters/dataLoad.h"
#include "wx/propertyGridUpdater.h"
#include <vector>
#include <string>
#include <utility>
#include <map>
#include <list>
#include <stack>
Include dependency graph for mainFrame.cpp:

Enumerations

enum  { WINDOW_LOCK_REFRESH, WINDOW_LOCK_PROPEDIT, WINDOW_LOCK_NONE }
 
enum  {
  ID_MAIN_WINDOW = wxID_ANY+1000, ID_FILE_EXIT, ID_FILE_OPEN, ID_FILE_MERGE,
  ID_FILE_SAVE, ID_FILE_SAVEAS, ID_FILE_EXPORT_PLOT, ID_FILE_EXPORT_IMAGE,
  ID_FILE_EXPORT_IONS, ID_FILE_EXPORT_RANGE, ID_FILE_EXPORT_ANIMATION, ID_FILE_EXPORT_FILTER_ANIMATION,
  ID_FILE_EXPORT_PACKAGE, ID_EDIT_UNDO, ID_EDIT_REDO, ID_EDIT_RANGE,
  ID_EDIT_PREFERENCES, ID_HELP_ABOUT, ID_HELP_HELP, ID_HELP_CONTACT,
  ID_VIEW_BACKGROUND, ID_VIEW_CONTROL_PANE, ID_VIEW_RAW_DATA_PANE, ID_VIEW_SPECTRA,
  ID_VIEW_PLOT_LEGEND, ID_VIEW_WORLDAXIS, ID_VIEW_FULLSCREEN, ID_NOTEBOOK_CONTROL,
  ID_NOTE_CAMERA, ID_NOTE_DATA, ID_NOTE_PERFORMANCE, ID_NOTE_TOOLS,
  ID_NOTE_VISUALISATION, ID_PANEL_DATA, ID_PANEL_VIEW, ID_NOTE_SPECTRA,
  ID_NOTE_RAW, ID_GRID_RAW_DATA, ID_BUTTON_GRIDCOPY, ID_LIST_PLOTS,
  ID_SPLIT_LEFTRIGHT, ID_SPLIT_FILTERPROP, ID_SPLIT_TOP_BOTTOM, ID_SPLIT_SPECTRA,
  ID_RAWDATAPANE_SPLIT, ID_CONTROLPANE_SPLIT, ID_COMBO_CAMERA, ID_GRID_CAMERA_PROPERTY,
  ID_BUTTON_ALIGNCAM_XMINUS, ID_BUTTON_ALIGNCAM_XPLUS, ID_BUTTON_ALIGNCAM_YMINUS, ID_BUTTON_ALIGNCAM_YPLUS,
  ID_BUTTON_ALIGNCAM_ZMINUS, ID_BUTTON_ALIGNCAM_ZPLUS, ID_COMBO_FILTER, ID_COMBO_STASH,
  ID_BTN_STASH_MANAGE, ID_CHECK_AUTOUPDATE, ID_FILTER_NAMES, ID_GRID_FILTER_PROPERTY,
  ID_LIST_FILTER, ID_TREE_FILTERS, ID_TREE_DELETE_FILTER_ITEM, ID_BUTTON_REFRESH,
  ID_BTN_EXPAND, ID_BTN_COLLAPSE, ID_BTN_FILTERTREE_ERRS, ID_EFFECT_ENABLE,
  ID_EFFECT_CROP_ENABLE, ID_EFFECT_CROP_AXISONE_COMBO, ID_EFFECT_CROP_PANELONE, ID_EFFECT_CROP_PANELTWO,
  ID_EFFECT_CROP_AXISTWO_COMBO, ID_EFFECT_CROP_CHECK_COORDS, ID_EFFECT_CROP_TEXT_DX, ID_EFFECT_CROP_TEXT_DY,
  ID_EFFECT_CROP_TEXT_DZ, ID_EFFECT_STEREO_ENABLE, ID_EFFECT_STEREO_COMBO, ID_EFFECT_STEREO_BASELINE_SLIDER,
  ID_EFFECT_STEREO_LENSFLIP, ID_CHECK_ALPHA, ID_CHECK_LIGHTING, ID_CHECK_LIMIT_POINT_OUT,
  ID_TEXT_LIMIT_POINT_OUT, ID_CHECK_CACHING, ID_CHECK_WEAKRANDOM, ID_SPIN_CACHEPERCENT,
  ID_PROGRESS_ABORT, ID_STATUS_TIMER, ID_PROGRESS_TIMER, ID_UPDATE_TIMER,
  ID_AUTOSAVE_TIMER
}
 
enum  {
  FILE_OPEN_TYPE_UNKNOWN =1, FILE_OPEN_TYPE_XML =2, FILE_OPEN_TYPE_POS =4, FILE_OPEN_TYPE_TEXT =8,
  FILE_OPEN_TYPE_LAWATAP_ATO =16, FILE_OPEN_TYPE_3DAP_OPS =32
}
 

Functions

void setWxTreeImages (wxTreeCtrl *t, const map< size_t, wxArtID > &artFilters)
 
void clearWxTreeImages (wxTreeCtrl *t)
 
 END_EVENT_TABLE ()
 

Variables

const unsigned int STATUS_TIMER_DELAY =10000
 
const unsigned int UPDATE_TIMER_DELAY =50
 
const unsigned int PROGRESS_TIMER_DELAY =40
 
const unsigned int AUTOSAVE_DELAY =180
 
const unsigned int DEFAULT_WIN_WIDTH =1024
 
const unsigned int DEFAULT_WIN_HEIGHT =800
 
const unsigned int MIN_WIN_WIDTH =100
 
const unsigned int MIN_WIN_HEIGHT =100
 
const unsigned int NOTE_CONSOLE_PAGE_OFFSET = 2
 Number of pages in the panel at the bottom. More...
 
const float BASELINE_SHIFT_FACTOR =0.0002f
 
const char * cameraIntroString =NTRANS("New camera name...")
 
const char * stashIntroString =NTRANS("New stash name...")
 
const char * ADD_FILTER_TEXT =NTRANS("New Filter...")
 
const char * AUTOSAVE_PREFIX = "autosave."
 
const char * AUTOSAVE_SUFFIX =".xml"
 
const unsigned int FILTER_DROP_COUNT =14
 
const char * comboFilters_choices [FILTER_DROP_COUNT]
 
const unsigned int comboFiltersTypeMapping [FILTER_DROP_COUNT]
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WINDOW_LOCK_REFRESH 
WINDOW_LOCK_PROPEDIT 
WINDOW_LOCK_NONE 

◆ anonymous enum

anonymous enum
Enumerator
ID_MAIN_WINDOW 
ID_FILE_EXIT 
ID_FILE_OPEN 
ID_FILE_MERGE 
ID_FILE_SAVE 
ID_FILE_SAVEAS 
ID_FILE_EXPORT_PLOT 
ID_FILE_EXPORT_IMAGE 
ID_FILE_EXPORT_IONS 
ID_FILE_EXPORT_RANGE 
ID_FILE_EXPORT_ANIMATION 
ID_FILE_EXPORT_FILTER_ANIMATION 
ID_FILE_EXPORT_PACKAGE 
ID_EDIT_UNDO 
ID_EDIT_REDO 
ID_EDIT_RANGE 
ID_EDIT_PREFERENCES 
ID_HELP_ABOUT 
ID_HELP_HELP 
ID_HELP_CONTACT 
ID_VIEW_BACKGROUND 
ID_VIEW_CONTROL_PANE 
ID_VIEW_RAW_DATA_PANE 
ID_VIEW_SPECTRA 
ID_VIEW_PLOT_LEGEND 
ID_VIEW_WORLDAXIS 
ID_VIEW_FULLSCREEN 
ID_NOTEBOOK_CONTROL 
ID_NOTE_CAMERA 
ID_NOTE_DATA 
ID_NOTE_PERFORMANCE 
ID_NOTE_TOOLS 
ID_NOTE_VISUALISATION 
ID_PANEL_DATA 
ID_PANEL_VIEW 
ID_NOTE_SPECTRA 
ID_NOTE_RAW 
ID_GRID_RAW_DATA 
ID_BUTTON_GRIDCOPY 
ID_LIST_PLOTS 
ID_SPLIT_LEFTRIGHT 
ID_SPLIT_FILTERPROP 
ID_SPLIT_TOP_BOTTOM 
ID_SPLIT_SPECTRA 
ID_RAWDATAPANE_SPLIT 
ID_CONTROLPANE_SPLIT 
ID_COMBO_CAMERA 
ID_GRID_CAMERA_PROPERTY 
ID_BUTTON_ALIGNCAM_XMINUS 
ID_BUTTON_ALIGNCAM_XPLUS 
ID_BUTTON_ALIGNCAM_YMINUS 
ID_BUTTON_ALIGNCAM_YPLUS 
ID_BUTTON_ALIGNCAM_ZMINUS 
ID_BUTTON_ALIGNCAM_ZPLUS 
ID_COMBO_FILTER 
ID_COMBO_STASH 
ID_BTN_STASH_MANAGE 
ID_CHECK_AUTOUPDATE 
ID_FILTER_NAMES 
ID_GRID_FILTER_PROPERTY 
ID_LIST_FILTER 
ID_TREE_FILTERS 
ID_TREE_DELETE_FILTER_ITEM 
ID_BUTTON_REFRESH 
ID_BTN_EXPAND 
ID_BTN_COLLAPSE 
ID_BTN_FILTERTREE_ERRS 
ID_EFFECT_ENABLE 
ID_EFFECT_CROP_ENABLE 
ID_EFFECT_CROP_AXISONE_COMBO 
ID_EFFECT_CROP_PANELONE 
ID_EFFECT_CROP_PANELTWO 
ID_EFFECT_CROP_AXISTWO_COMBO 
ID_EFFECT_CROP_CHECK_COORDS 
ID_EFFECT_CROP_TEXT_DX 
ID_EFFECT_CROP_TEXT_DY 
ID_EFFECT_CROP_TEXT_DZ 
ID_EFFECT_STEREO_ENABLE 
ID_EFFECT_STEREO_COMBO 
ID_EFFECT_STEREO_BASELINE_SLIDER 
ID_EFFECT_STEREO_LENSFLIP 
ID_CHECK_ALPHA 
ID_CHECK_LIGHTING 
ID_CHECK_LIMIT_POINT_OUT 
ID_TEXT_LIMIT_POINT_OUT 
ID_CHECK_CACHING 
ID_CHECK_WEAKRANDOM 
ID_SPIN_CACHEPERCENT 
ID_PROGRESS_ABORT 
ID_STATUS_TIMER 
ID_PROGRESS_TIMER 
ID_UPDATE_TIMER 
ID_AUTOSAVE_TIMER 

◆ anonymous enum

anonymous enum
Enumerator
FILE_OPEN_TYPE_UNKNOWN 
FILE_OPEN_TYPE_XML 
FILE_OPEN_TYPE_POS 
FILE_OPEN_TYPE_TEXT 
FILE_OPEN_TYPE_LAWATAP_ATO 
FILE_OPEN_TYPE_3DAP_OPS 

Function Documentation

◆ clearWxTreeImages()

void clearWxTreeImages ( wxTreeCtrl *  t)

Referenced by MainWindowFrame::OnGridFilterPropertyChange().

Here is the caller graph for this function:

◆ END_EVENT_TABLE()

END_EVENT_TABLE ( )

Referenced by MainWindowFrame::finaliseStartup().

Here is the caller graph for this function:

◆ setWxTreeImages()

void setWxTreeImages ( wxTreeCtrl *  t,
const map< size_t, wxArtID > &  artFilters 
)

Referenced by MainWindowFrame::OnFinishRefreshThread().

Here is the caller graph for this function:

Variable Documentation

◆ ADD_FILTER_TEXT

const char* ADD_FILTER_TEXT =NTRANS("New Filter...")

◆ AUTOSAVE_DELAY

const unsigned int AUTOSAVE_DELAY =180

◆ AUTOSAVE_PREFIX

const char* AUTOSAVE_PREFIX = "autosave."

◆ AUTOSAVE_SUFFIX

const char* AUTOSAVE_SUFFIX =".xml"

◆ BASELINE_SHIFT_FACTOR

const float BASELINE_SHIFT_FACTOR =0.0002f

◆ cameraIntroString

const char* cameraIntroString =NTRANS("New camera name...")

◆ comboFilters_choices

const char* comboFilters_choices[FILTER_DROP_COUNT]
Initial value:
=
{
NTRANS("Annotation"),
NTRANS("Bounding Box"),
NTRANS("Clipping"),
NTRANS("Cluster Analysis"),
NTRANS("Compos. Profiles"),
NTRANS("Downsampling"),
NTRANS("Extern. Prog."),
NTRANS("Ion Colour"),
NTRANS("Ion Info"),
NTRANS("Ion Transform"),
NTRANS("Spectrum"),
NTRANS("Range File"),
NTRANS("Spat. Analysis"),
NTRANS("Voxelisation"),
}
#define NTRANS(x)
Gettext null-translation macro (mark for translation, but do nothing)
Definition: translation.h:33

Referenced by MainWindowFrame::MainWindowFrame(), and MainWindowFrame::OnComboFilter().

◆ comboFiltersTypeMapping

const unsigned int comboFiltersTypeMapping[FILTER_DROP_COUNT]

◆ DEFAULT_WIN_HEIGHT

const unsigned int DEFAULT_WIN_HEIGHT =800

◆ DEFAULT_WIN_WIDTH

const unsigned int DEFAULT_WIN_WIDTH =1024

◆ FILTER_DROP_COUNT

const unsigned int FILTER_DROP_COUNT =14

◆ MIN_WIN_HEIGHT

const unsigned int MIN_WIN_HEIGHT =100

◆ MIN_WIN_WIDTH

const unsigned int MIN_WIN_WIDTH =100

◆ NOTE_CONSOLE_PAGE_OFFSET

const unsigned int NOTE_CONSOLE_PAGE_OFFSET = 2

Number of pages in the panel at the bottom.

Referenced by MainWindowFrame::OnComboFilter(), and MainWindowFrame::OnNoteDataView().

◆ PROGRESS_TIMER_DELAY

const unsigned int PROGRESS_TIMER_DELAY =40

◆ stashIntroString

const char* stashIntroString =NTRANS("New stash name...")

◆ STATUS_TIMER_DELAY

const unsigned int STATUS_TIMER_DELAY =10000

◆ UPDATE_TIMER_DELAY

const unsigned int UPDATE_TIMER_DELAY =50