00001 #ifndef __VIASGUI_H__
00002 #define __VIASGUI_H__
00003
00004
00005
00006
00007
00008
00009 #include "configure.h"
00010 #include "workspace.h"
00011 #include "imagestackmgr.h"
00012 #include <string.h>
00013
00014 #ifdef _WIN32
00015 #include <windows.h>
00016 #include <commctrl.h>
00017 #include <commdlg.h>
00018 #else
00019 #error Platform not supported
00020 #endif
00021
00022
00023 typedef enum
00024 {
00025 vSTR_INTRO_BANNER_BMP,
00026 vSTR_MAIN_WINDOW_CLASS,
00027 vSTR_MAIN_WINDOW_ICON,
00028 vSTR_MAIN_WINDOW_MENU,
00029 vSTR_MAIN_WINDOW_TITLE,
00030 vSTR_WORKSPACE_WINDOW_CLASS,
00031 vSTR_ABOUT_VIAS_DIALOG,
00032 vSTR_STATUS_BAR_READY,
00033 vSTR_WORKSPACE_FILE_FILTER,
00034 vSTR_OPEN_WORKSPACE_DIALOG_TITLE,
00035 vSTR_NEW_WORKSPACE_DIALOG,
00036 vSTR_FILE_NAME_WARNING,
00037 vSTR_OPEN_WORKSPACE_PROG_BAR_TITLE,
00038 vSTR_PROG_INTERNAL_ERROR,
00039 vSTR_IMAGE_STACK_FILE_FILTER,
00040 vSTR_OPEN_IMAGE_STACK_DIALOG_TITLE,
00041 vSTR_PROJECTION_PROG_BAR_TITLE,
00042 vSTR_MAIN_MENU_IMAGE_LIST,
00043 vSTR_MAIN_MENU_IMAGE_MASK,
00044 vSTR_NEW_WORKSPACE_PATH_ERROR,
00045 vSTR_INTEGRATION_DIALOG,
00046 vSTR_INTEGRATION_REPLACE_PROG_TITLE,
00047 vSTR_INTEGRATION_MAXIMUM_PROG_TITLE,
00048 vSTR_INTEGRATION_AVERAGE_PROG_TITLE,
00049 vSTR_INTEGRATION_OVERWRITE_MSG,
00050 vSTR_AUTO_ALIGN_PROG_BAR_TITLE,
00051 vSTR_CREATE_CONTROLS_ERROR,
00052 vSTR_VOXELS_DIALOG,
00053 vSTR_VIAS_LICENSE,
00054 vSTR_ABOUT_FUNDING_DIALOG,
00055 vSTR_BATCH_OPEN_DIALOG,
00056
00057 vSTR_SENTINEL
00058 }
00059 vSTRING_TYPE;
00060
00061 #define vNUM_STR_TYPES ( ( vINT )vSTR_SENTINEL )
00062
00063
00064 #define vBIT_WORKSPACE_OPEN vBIT_0
00065 #define vBIT_WORKSPACE_CHANGED vBIT_1
00066
00067
00068 #define vSHOW_WINDOW vTRUE
00069 #define vHIDE_WINDOW vFALSE
00070
00071
00072
00073
00074
00075
00076
00077
00078 #define WAM_SHOW ( WM_APP + 1 )
00079
00080
00081
00082 #define WAM_GETSTACKVISIBLE ( WM_APP + 2 )
00083
00084
00085
00086 #define WAM_SETSTACKVISIBLE ( WM_APP + 3 )
00087
00088
00089
00090 #define WAM_STACKCONTROLS ( WM_APP + 4 )
00091
00092
00093
00094 #define WAM_GETSTACKSELECTED ( WM_APP + 5 )
00095
00096
00097
00098 #define WAM_SETSTACKSELECTED ( WM_APP + 6 )
00099
00100
00101
00102
00103
00104 #define WAM_GETSTACKDESC ( WM_APP + 7 )
00105
00106
00107
00108 #define WAM_SETSTACKDESC ( WM_APP + 8 )
00109
00110
00111
00112 #define WAM_GETALPHA ( WM_APP + 9 )
00113
00114
00115 #define WAM_SETALPHA ( WM_APP + 10 )
00116
00117
00118
00119
00120 #define WAM_GETSTACKISP ( WM_APP + 11 )
00121
00122
00123
00124
00125 #define WAM_SETACTIVETOOL ( WM_APP + 12 )
00126
00127
00128
00129
00130 #define WAM_GETSTACKDIM3D ( WM_APP + 13 )
00131
00132
00133 #define WAM_DUPLICATESTACK ( WM_APP + 14 )
00134
00135
00136
00137 #define WAM_GETSTACKPOSLOCKED ( WM_APP + 15 )
00138
00139
00140
00141 #define WAM_SETSTACKPOSLOCKED ( WM_APP + 16 )
00142
00143
00144 #define WAM_STACKFITTOSCREEN ( WM_APP + 17 )
00145
00146
00147
00148 #define StdErrorBox( owner, message )\
00149 MessageBox( ( owner ),\
00150 ( message ),\
00151 GetString( vSTR_MAIN_WINDOW_TITLE ),\
00152 MB_ICONSTOP )
00153
00154 #define StdPromptBox( owner, message )\
00155 MessageBox( ( owner ),\
00156 ( message ),\
00157 GetString( vSTR_MAIN_WINDOW_TITLE ),\
00158 MB_YESNOCANCEL | MB_ICONWARNING )
00159
00160 #define StdBooleanBox( owner, message )\
00161 MessageBox( ( owner ),\
00162 ( message ),\
00163 GetString( vSTR_MAIN_WINDOW_TITLE ),\
00164 MB_YESNO | MB_ICONWARNING )
00165
00166 #define StdInfoBox( owner, message )\
00167 MessageBox( ( owner ),\
00168 ( message ),\
00169 GetString( vSTR_MAIN_WINDOW_TITLE ),\
00170 MB_OK | MB_ICONINFORMATION )
00171
00172
00173 #define vRECT_WIDTH( rect ) ( ( rect ).right - ( rect ).left )
00174 #define vRECT_HEIGHT( rect ) ( ( rect ).bottom - ( rect ).top )
00175
00176
00177 vSTRING GetString( vSTRING_TYPE type );
00178 vSTRING GetWorkspaceErrorString( vVWS_ERROR_CODE vwsErrorCode );
00179
00180
00181 HINSTANCE GetProgramInstance( vVOID );
00182 vVOID SetProgramInstance( HINSTANCE hProgramInstance );
00183
00184
00185 HWND GetMainWindow( vVOID );
00186 vVOID SetMainWindow( HWND hMainWindow );
00187
00188
00189 HWND GetWorkspaceWindow( vVOID );
00190 vVOID SetWorkspaceWindow( HWND hWorkspaceWindow );
00191 vUINT GetWorkspaceWindowID( vVOID );
00192 HDC GetWorkspaceWindowDC( vVOID );
00193 vVOID SetWorkspaceWindowDC( HDC hDC );
00194
00195
00196 Workspace* GetWorkspace( vVOID );
00197
00198
00199 vVOID SetControlFlags( vUINT bitwiseOrFlags );
00200 vVOID ClearControlFlags( vUINT bitwiseOrFlags );
00201 vBOOL ControlFlagIsSet( vBIT flag );
00202
00203
00204 const vSTRING GetProgramLaunchDirectory( vVOID );
00205 vVOID SetProgramLaunchDirectory( const vSTRING directory );
00206
00207
00208 void EnsureWindowOnScreen( HWND hWnd, vINT defX, vINT defY, vSIZE defWidth, vSIZE defHeight );
00209
00210
00211 vBOOL IsCroppingEnabled( vVOID );
00212 vVOID SetCroppingEnabled( vBOOL enabled );
00213
00214
00215 #endif
00216