mirror of
https://github.com/ioquake/jedi-outcast.git
synced 2024-11-13 00:24:36 +00:00
487 lines
16 KiB
C++
487 lines
16 KiB
C++
// MainFrm.h : interface of the CMainFrame class
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_MAINFRM_H__330BBF0A_731C_11D1_B539_00AA00A410FC__INCLUDED_)
|
|
#define AFX_MAINFRM_H__330BBF0A_731C_11D1_B539_00AA00A410FC__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#include "LstToolBar.h"
|
|
#include "XYWnd.h"
|
|
#include "TexWnd.h"
|
|
#include "ZWnd.h"
|
|
#include "CamWnd.h"
|
|
#include "RADEditWnd.h"
|
|
#include "TextureBar.h"
|
|
#include "PlugInManager.h"
|
|
#include "PlugIn.h"
|
|
|
|
const int RAD_SHIFT = 0x01;
|
|
const int RAD_ALT = 0x02;
|
|
const int RAD_CONTROL = 0x04;
|
|
const int RAD_PRESS = 0x08;
|
|
|
|
struct SCommandInfo
|
|
{
|
|
char* m_strCommand;
|
|
unsigned int m_nKey;
|
|
unsigned int m_nModifiers;
|
|
unsigned int m_nCommand;
|
|
};
|
|
|
|
struct SKeyInfo
|
|
{
|
|
char* m_strName;
|
|
unsigned int m_nVKKey;
|
|
};
|
|
|
|
|
|
|
|
|
|
class CMainFrame : public CFrameWnd
|
|
{
|
|
DECLARE_DYNAMIC(CMainFrame)
|
|
public:
|
|
CMainFrame();
|
|
void HandleKey(UINT nChar, UINT nRepCnt, UINT nFlags, bool bDown = true)
|
|
{
|
|
if (bDown)
|
|
OnKeyDown(nChar, nRepCnt, nFlags);
|
|
else
|
|
OnKeyUp(nChar, nRepCnt, nFlags);
|
|
};
|
|
|
|
// Attributes
|
|
public:
|
|
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CMainFrame)
|
|
public:
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
protected:
|
|
virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
|
|
virtual LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
|
|
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
|
|
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
void UpdatePatchToolbarButtons();
|
|
void NudgeSelection(int nDirection, int nAmount);
|
|
void UpdateTextureBar();
|
|
void SetButtonMenuStates();
|
|
void SetTexValStatus();
|
|
void SetGridStatus();
|
|
void RoutineProcessing();
|
|
CXYWnd* ActiveXY();
|
|
void UpdateWindows(int nBits);
|
|
void SetStatusText(int nPane, const char* pText);
|
|
void UpdateStatusText();
|
|
void SetWindowStyle(int nStyle);
|
|
virtual ~CMainFrame();
|
|
CXYWnd* GetXYWnd() {return m_pXYWnd;};
|
|
CXYWnd* GetXZWnd() {return m_pXZWnd;};
|
|
CXYWnd* GetYZWnd() {return m_pYZWnd;};
|
|
CCamWnd* GetCamera() {return m_pCamWnd;};
|
|
CTexWnd* GetTexWnd() {return m_pTexWnd;};
|
|
CZWnd* GetZWnd() {return m_pZWnd;};
|
|
void SetActiveXY(CXYWnd* p)
|
|
{
|
|
if (m_pActiveXY)
|
|
m_pActiveXY->SetActive(false);
|
|
|
|
m_pActiveXY = p;
|
|
|
|
if (m_pActiveXY)
|
|
m_pActiveXY->SetActive(true);
|
|
|
|
};
|
|
int CurrentStyle() { return m_nCurrentStyle; };
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
protected: // control bar embedded members
|
|
CStatusBar m_wndStatusBar;
|
|
CLstToolBar m_wndToolBar;
|
|
CLstToolBar m_wndScaleBar;
|
|
CDialogBar m_wndHelpBar;
|
|
CTextureBar m_wndTextureBar;
|
|
CSplitterWnd m_wndSplit;
|
|
CSplitterWnd m_wndSplit2;
|
|
CSplitterWnd m_wndSplit3;
|
|
CXYWnd* m_pXYWnd;
|
|
CXYWnd* m_pYZWnd;
|
|
CXYWnd* m_pXZWnd;
|
|
CCamWnd* m_pCamWnd;
|
|
CTexWnd* m_pTexWnd;
|
|
CZWnd* m_pZWnd;
|
|
CRADEditWnd* m_pEditWnd;
|
|
int m_nCurrentStyle;
|
|
CString m_strStatus[15];
|
|
CXYWnd* m_pActiveXY;
|
|
bool m_bCamPreview;
|
|
CPlugInManager m_PlugInMgr;
|
|
int m_nNextPlugInID;
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
bool m_bDoLoop;
|
|
bool m_bSplittersOK;
|
|
void CreateQEChildren();
|
|
void LoadCommandMap();
|
|
void SetEntityCheck();
|
|
afx_msg void OnBSPStatus(UINT wParam, long lParam);
|
|
afx_msg void OnBSPDone(UINT wParam, long lParam);
|
|
public:
|
|
void Nudge(int nDim, float fNudge);
|
|
|
|
CPlugInManager &GetPlugInMgr() {return m_PlugInMgr;};
|
|
void AddPlugInMenuItem(CPlugIn* pPlugIn);
|
|
void CleanPlugInMenu();
|
|
|
|
// these are public so i can easily reflect messages
|
|
// from child windows..
|
|
//{{AFX_MSG(CMainFrame)
|
|
afx_msg void OnParentNotify(UINT message, LPARAM lParam);
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnTimer(UINT nIDEvent);
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void ToggleCamera();
|
|
afx_msg void OnFileClose();
|
|
afx_msg void OnFileExit();
|
|
afx_msg void OnFileLoadproject();
|
|
afx_msg void OnFileNew();
|
|
afx_msg void OnFileOpen();
|
|
afx_msg void OnFilePointfile();
|
|
afx_msg void OnFilePrint();
|
|
afx_msg void OnFilePrintPreview();
|
|
afx_msg void OnFileSave();
|
|
afx_msg void OnFileSaveas();
|
|
afx_msg void OnView100();
|
|
afx_msg void OnViewCenter();
|
|
afx_msg void OnViewConsole();
|
|
afx_msg void OnViewDownfloor();
|
|
afx_msg void OnViewEntity();
|
|
afx_msg void OnViewFront();
|
|
afx_msg void OnViewShowblocks();
|
|
afx_msg void OnViewShowclip();
|
|
afx_msg void OnViewShowcoordinates();
|
|
afx_msg void OnViewShowdetail();
|
|
afx_msg void OnViewShowDetailOnly();
|
|
afx_msg void OnViewShowEasy();
|
|
afx_msg void OnViewShowMedium();
|
|
afx_msg void OnViewShowHard();
|
|
afx_msg void OnViewShowNonSolid();
|
|
afx_msg void OnMakeNonSolid();
|
|
afx_msg void OnClearNonSolid();
|
|
afx_msg void OnViewShowent();
|
|
afx_msg void OnViewShowlights();
|
|
afx_msg void OnViewShownames();
|
|
afx_msg void OnViewShowpath();
|
|
afx_msg void OnViewShowwater();
|
|
afx_msg void OnViewShowworld();
|
|
afx_msg void OnViewTexture();
|
|
afx_msg void OnViewUpfloor();
|
|
afx_msg void OnViewXy();
|
|
afx_msg void OnViewZ100();
|
|
afx_msg void OnViewZoomin();
|
|
afx_msg void OnViewZoomout();
|
|
afx_msg void OnViewZzoomin();
|
|
afx_msg void OnViewZzoomout();
|
|
afx_msg void OnViewSide();
|
|
afx_msg void OnTexturesShowinuse();
|
|
afx_msg void OnTexturesInspector();
|
|
afx_msg void OnMiscBenchmark();
|
|
afx_msg void OnMiscFindbrush();
|
|
afx_msg void OnMiscGamma();
|
|
afx_msg void OnMiscNextleakspot();
|
|
afx_msg void OnMiscPreviousleakspot();
|
|
afx_msg void OnMiscPrintxy();
|
|
afx_msg void OnMiscSelectentitycolor();
|
|
afx_msg void OnTexturebk();
|
|
afx_msg void OnColorsMajor();
|
|
afx_msg void OnColorsMinor();
|
|
afx_msg void OnColorsXybk();
|
|
afx_msg void OnBrush3sided();
|
|
afx_msg void OnBrush4sided();
|
|
afx_msg void OnBrush5sided();
|
|
afx_msg void OnBrush6sided();
|
|
afx_msg void OnBrush7sided();
|
|
afx_msg void OnBrush8sided();
|
|
afx_msg void OnBrush9sided();
|
|
afx_msg void OnBrushArbitrarysided();
|
|
afx_msg void OnBrushFlipx();
|
|
afx_msg void OnBrushFlipy();
|
|
afx_msg void OnBrushFlipz();
|
|
afx_msg void OnBrushRotatex();
|
|
afx_msg void OnBrushRotatey();
|
|
afx_msg void OnBrushRotatez();
|
|
afx_msg void OnRegionOff();
|
|
afx_msg void OnRegionSetbrush();
|
|
afx_msg void OnRegionSetselection();
|
|
afx_msg void OnRegionSettallbrush();
|
|
afx_msg void OnRegionSetxy();
|
|
afx_msg void OnSelectionArbitraryrotation();
|
|
afx_msg void OnSelectionClone();
|
|
afx_msg void OnSelectionClone_NoTargetNameChange() ;
|
|
afx_msg void OnSelectionConnect();
|
|
afx_msg void OnSelectionConnectSmart();
|
|
afx_msg void OnSelectionCsgsubtract();
|
|
afx_msg void OnSelectionDelete();
|
|
afx_msg void OnSelectionDeselect();
|
|
afx_msg void OnSelectionDragedges();
|
|
afx_msg void OnSelectionDragvertecies();
|
|
afx_msg void OnSelectionMakeDetail();
|
|
afx_msg void OnSelectionMakeStructural();
|
|
afx_msg void OnSelectionHideWaypointChildren();
|
|
afx_msg void OnSelectionUnHideWaypointChildren();
|
|
afx_msg void OnSelectionUnHideAllWaypoints();
|
|
afx_msg void OnSelectionMakehollow();
|
|
afx_msg void OnSelectionSelectcompletetall();
|
|
afx_msg void OnSelectionSelectinside();
|
|
afx_msg void OnSelectionSelectpartialtall();
|
|
afx_msg void OnSelectionSelecttouching();
|
|
afx_msg void OnSelectionUngroupentity();
|
|
afx_msg void OnSelectionGroupNamesDisplay();
|
|
afx_msg void OnSelectionGroupNamesActive();
|
|
afx_msg void OnSelectionGroupNamesGhosted();
|
|
afx_msg void OnTexturesPopup();
|
|
afx_msg void OnPopupSelection();
|
|
afx_msg void OnViewChange();
|
|
afx_msg void OnViewCameraupdate();
|
|
afx_msg void OnUpdateViewCameraupdate(CCmdUI* pCmdUI);
|
|
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
|
|
afx_msg void OnHelpAbout();
|
|
afx_msg void OnViewClipper();
|
|
afx_msg void OnCameraAngledown();
|
|
afx_msg void OnCameraAngleup();
|
|
afx_msg void OnCameraBack();
|
|
afx_msg void OnCameraDown();
|
|
afx_msg void OnCameraForward();
|
|
afx_msg void OnCameraLeft();
|
|
afx_msg void OnCameraRight();
|
|
afx_msg void OnCameraStrafeleft();
|
|
afx_msg void OnCameraStraferight();
|
|
afx_msg void OnCameraUp();
|
|
afx_msg void OnGridToggle();
|
|
afx_msg void OnEntitylist();
|
|
afx_msg void OnMapinfo();
|
|
afx_msg void OnPrefs();
|
|
afx_msg void OnTogglecamera();
|
|
afx_msg void OnToggleconsole();
|
|
afx_msg void OnToggleview();
|
|
afx_msg void OnTogglez();
|
|
afx_msg void OnToggleLock();
|
|
afx_msg void OnEditMapinfo();
|
|
afx_msg void OnEditEntityinfo();
|
|
afx_msg void OnBrushScripts();
|
|
afx_msg void OnViewNextview();
|
|
afx_msg void OnHelpCommandlist();
|
|
afx_msg void OnFileNewproject();
|
|
afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnFlipClip();
|
|
afx_msg void OnClipSelected();
|
|
afx_msg void OnSplitSelected();
|
|
afx_msg void OnToggleviewXz();
|
|
afx_msg void OnToggleviewYz();
|
|
afx_msg void OnColorsBrush();
|
|
afx_msg void OnColorsClipper();
|
|
afx_msg void OnColorsGridtext();
|
|
afx_msg void OnColorsSelectedbrush();
|
|
afx_msg void OnColorsGridblock();
|
|
afx_msg void OnColorsViewname();
|
|
afx_msg void OnColorSetoriginal();
|
|
afx_msg void OnColorSetqer();
|
|
afx_msg void OnColorSetblack();
|
|
afx_msg void OnSnaptogrid();
|
|
afx_msg void OnSelectScale();
|
|
afx_msg void OnSelectMouserotate();
|
|
afx_msg void OnEditCopybrush();
|
|
afx_msg void OnEditPastebrush();
|
|
afx_msg void OnEditPastebrushNoTargetnameChange();
|
|
afx_msg void OnEditUndo();
|
|
afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
|
|
afx_msg void OnSelectionTextureDec();
|
|
afx_msg void OnSelectionTextureFit();
|
|
afx_msg void OnSelectionTextureInc();
|
|
afx_msg void OnSelectionTextureRotateclock();
|
|
afx_msg void OnSelectionTextureRotatecounter();
|
|
afx_msg void OnSelectionTextureScaledown();
|
|
afx_msg void OnSelectionTextureScaleup();
|
|
afx_msg void OnSelectionTextureShiftdown();
|
|
afx_msg void OnSelectionTextureShiftleft();
|
|
afx_msg void OnSelectionTextureShiftright();
|
|
afx_msg void OnSelectionTextureShiftup();
|
|
afx_msg void OnGridNext();
|
|
afx_msg void OnGridPrev();
|
|
afx_msg void OnSelectionTextureScaleLeft();
|
|
afx_msg void OnSelectionTextureScaleRight();
|
|
afx_msg void OnTextureReplaceall();
|
|
afx_msg void OnScalelockx();
|
|
afx_msg void OnScalelocky();
|
|
afx_msg void OnScalelockz();
|
|
afx_msg void OnSelectMousescale();
|
|
afx_msg void OnViewCubicclipping();
|
|
afx_msg void OnFileImport();
|
|
afx_msg void OnFileProjectsettings();
|
|
afx_msg void OnUpdateFileImport(CCmdUI* pCmdUI);
|
|
afx_msg void OnViewCubein();
|
|
afx_msg void OnViewCubeout();
|
|
afx_msg void OnViewCubein10();
|
|
afx_msg void OnViewCubeout10();
|
|
afx_msg void OnFileSaveregion();
|
|
afx_msg void OnUpdateFileSaveregion(CCmdUI* pCmdUI);
|
|
afx_msg void OnSelectionMovedown();
|
|
afx_msg void OnSelectionMoveup();
|
|
afx_msg void OnToolbarMain();
|
|
afx_msg void OnToolbarTexture();
|
|
afx_msg void OnSelectionPrint();
|
|
afx_msg void OnSelectionTogglesizepaint();
|
|
afx_msg void OnBrushMakecone();
|
|
afx_msg void OnTexturesLoad();
|
|
afx_msg void OnToggleRotatelock();
|
|
afx_msg void OnCurveBevel();
|
|
afx_msg void OnCurveCylinder();
|
|
afx_msg void OnCurveEighthsphere();
|
|
afx_msg void OnCurveEndcap();
|
|
afx_msg void OnCurveHemisphere();
|
|
afx_msg void OnCurveInvertcurve();
|
|
afx_msg void OnCurveQuarter();
|
|
afx_msg void OnCurveSphere();
|
|
afx_msg void OnFileImportmap();
|
|
afx_msg void OnFileExportmap();
|
|
afx_msg void OnEditLoadprefab();
|
|
afx_msg void OnViewShowWayPoints();
|
|
afx_msg void OnViewShowWayPointsOnly();
|
|
afx_msg void OnViewShowMiscModels();
|
|
afx_msg void OnViewShowMiscModelBreakables();
|
|
afx_msg void OnViewShowMiscModelXXXX();
|
|
afx_msg void OnViewShowTriggerXXXX();
|
|
afx_msg void OnViewShowTargetSpeakers();
|
|
afx_msg void OnViewShowRefTags();
|
|
afx_msg void OnViewShowcurves();
|
|
afx_msg void OnSelectionSelectNudgedown();
|
|
afx_msg void OnSelectionSelectNudgeleft();
|
|
afx_msg void OnSelectionSelectNudgeright();
|
|
afx_msg void OnSelectionSelectNudgeup();
|
|
afx_msg void OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnTexturesLoadlist();
|
|
afx_msg void OnDontselectcurve();
|
|
afx_msg void OnConvertcurves();
|
|
afx_msg void OnShowFaces();
|
|
afx_msg void OnDynamicLighting();
|
|
afx_msg void OnCurveSimplepatchmesh();
|
|
afx_msg void OnPatchToggleBox();
|
|
afx_msg void OnPatchWireframe();
|
|
afx_msg void OnCurvePatchcone();
|
|
afx_msg void OnCurvePatchtube();
|
|
afx_msg void OnPatchWeld();
|
|
afx_msg void OnCurvePatchbevel();
|
|
afx_msg void OnCurvePatchendcap();
|
|
afx_msg void OnCurvePatchinvertedbevel();
|
|
afx_msg void OnCurvePatchinvertedendcap();
|
|
afx_msg void OnPatchDrilldown();
|
|
afx_msg void OnCurveInsertcolumn();
|
|
afx_msg void OnCurveInsertrow();
|
|
afx_msg void OnCurveDeletecolumn();
|
|
afx_msg void OnMapHome();
|
|
afx_msg void OnCurveDeleterow();
|
|
afx_msg void OnCurveInsertAddcolumn();
|
|
afx_msg void OnCurveInsertAddrow();
|
|
afx_msg void OnCurveInsertInsertcolumn();
|
|
afx_msg void OnCurveInsertInsertrow();
|
|
afx_msg void OnCurveNegative();
|
|
afx_msg void OnCurveNegativeTextureX();
|
|
afx_msg void OnCurveNegativeTextureY();
|
|
afx_msg void OnCurveDeleteFirstcolumn();
|
|
afx_msg void OnCurveDeleteFirstrow();
|
|
afx_msg void OnCurveDeleteLastcolumn();
|
|
afx_msg void OnCurveDeleteLastrow();
|
|
afx_msg void OnPatchBend();
|
|
afx_msg void OnPatchInsdel();
|
|
afx_msg void OnPatchEnter();
|
|
afx_msg void OnPatchTab();
|
|
afx_msg void OnCurvePatchdensetube();
|
|
afx_msg void OnCurvePatchverydensetube();
|
|
afx_msg void OnCurveCap();
|
|
afx_msg void OnCurveCapInvertedbevel();
|
|
afx_msg void OnCurveCapInvertedendcap();
|
|
afx_msg void OnCurveRedisperseCols();
|
|
afx_msg void OnCurveRedisperseRows();
|
|
afx_msg void OnPatchNaturalize();
|
|
afx_msg void OnSnapToGrid();
|
|
afx_msg void OnCurvePatchsquare();
|
|
afx_msg void OnTexturesTexturewindowscale10();
|
|
afx_msg void OnTexturesTexturewindowscale100();
|
|
afx_msg void OnTexturesTexturewindowscale200();
|
|
afx_msg void OnTexturesTexturewindowscale25();
|
|
afx_msg void OnTexturesTexturewindowscale50();
|
|
afx_msg void OnTexturesFlush();
|
|
afx_msg void OnCurveOverlayClear();
|
|
afx_msg void OnCurveOverlaySet();
|
|
afx_msg void OnCurveThicken();
|
|
afx_msg void OnCurveCyclecap();
|
|
afx_msg void OnCurveMatrixTranspose();
|
|
afx_msg void OnTexturesReloadshaders();
|
|
afx_msg void OnShowEntities();
|
|
afx_msg void OnViewEntitiesasBoundingbox();
|
|
afx_msg void OnViewEntitiesasSelectedskinned();
|
|
afx_msg void OnViewEntitiesasSelectedwireframe();
|
|
afx_msg void OnViewEntitiesasSkinned();
|
|
afx_msg void OnViewEntitiesasSkinnedandboxed();
|
|
afx_msg void OnViewEntitiesasWriteframe();
|
|
afx_msg void OnPluginsRefresh();
|
|
afx_msg void OnViewShowhint();
|
|
afx_msg void OnUpdateTexturesShowinuse(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateMiscShowFaces(CCmdUI* pCmdUI);
|
|
afx_msg void OnSSStatus();
|
|
afx_msg void OnSSAdd();
|
|
afx_msg void OnSSCheckIn();
|
|
afx_msg void OnSSCheckOut();
|
|
afx_msg void OnSSUndoCheckOut();
|
|
afx_msg void OnSSHistory();
|
|
afx_msg void OnSSConfigure();
|
|
afx_msg void OnFindEnt();
|
|
afx_msg void OnFindNextEnt();
|
|
afx_msg void OnFaceFit();
|
|
afx_msg void OnViewHideshowHideselected();
|
|
afx_msg void OnViewHideshowShowhidden();
|
|
afx_msg void OnAutocaulk();
|
|
afx_msg void OnUpdateAutocaulk(CCmdUI* pCmdUI);
|
|
afx_msg void OnViewShowfuncgroups();
|
|
afx_msg void OnViewShowlightradii();
|
|
afx_msg void OnViewShowlightradii_KB();
|
|
afx_msg void OnViewShowcurvesonly();
|
|
//}}AFX_MSG
|
|
afx_msg void OnMru(unsigned int nID);
|
|
afx_msg void OnViewNearest(unsigned int nID);
|
|
afx_msg void OnTextureWad(unsigned int nID);
|
|
afx_msg void OnBspCommand(unsigned int nID);
|
|
afx_msg void OnGrid1(unsigned int nID);
|
|
afx_msg void OnDisplayChange(WPARAM wp, LPARAM lp);
|
|
void CheckTextureScale(int id);
|
|
afx_msg void OnPlugIn(unsigned int nID);
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_MAINFRM_H__330BBF0A_731C_11D1_B539_00AA00A410FC__INCLUDED_)
|