2013-08-16 03:25:51 +02:00
|
|
|
#ifndef _LC_MAINWINDOW_H_
|
|
|
|
#define _LC_MAINWINDOW_H_
|
2011-09-07 23:06:51 +02:00
|
|
|
|
2013-08-16 03:25:51 +02:00
|
|
|
#include "lc_basewindow.h"
|
2013-08-16 01:43:18 +02:00
|
|
|
#include "lc_array.h"
|
2014-05-23 02:02:21 +02:00
|
|
|
#include "project.h"
|
2011-09-07 23:06:51 +02:00
|
|
|
|
2014-05-03 23:16:48 +02:00
|
|
|
class View;
|
2013-08-09 06:57:18 +02:00
|
|
|
class PiecePreview;
|
2011-09-07 23:06:51 +02:00
|
|
|
|
2013-08-09 06:57:18 +02:00
|
|
|
#define LC_MAX_RECENT_FILES 4
|
|
|
|
|
|
|
|
class lcMainWindow : public lcBaseWindow
|
2011-09-07 23:06:51 +02:00
|
|
|
{
|
|
|
|
public:
|
2013-08-09 06:57:18 +02:00
|
|
|
lcMainWindow();
|
|
|
|
~lcMainWindow();
|
|
|
|
|
2014-05-23 02:02:21 +02:00
|
|
|
lcTool GetTool() const
|
|
|
|
{
|
|
|
|
return mTool;
|
|
|
|
}
|
|
|
|
|
2014-05-21 00:15:42 +02:00
|
|
|
bool GetAddKeys() const
|
|
|
|
{
|
|
|
|
return mAddKeys;
|
|
|
|
}
|
|
|
|
|
2014-05-03 23:16:48 +02:00
|
|
|
View* GetActiveView() const
|
|
|
|
{
|
|
|
|
return mActiveView;
|
|
|
|
}
|
|
|
|
|
|
|
|
const lcArray<View*>& GetViews()
|
|
|
|
{
|
|
|
|
return mViews;
|
|
|
|
}
|
|
|
|
|
|
|
|
void AddView(View* View);
|
|
|
|
void RemoveView(View* View);
|
|
|
|
void SetActiveView(View* ActiveView);
|
|
|
|
void UpdateAllViews();
|
|
|
|
|
2014-05-23 02:02:21 +02:00
|
|
|
void SetTool(lcTool Tool);
|
2013-08-09 06:57:18 +02:00
|
|
|
void SetColorIndex(int ColorIndex);
|
|
|
|
void Close();
|
|
|
|
|
|
|
|
void AddRecentFile(const char* FileName);
|
|
|
|
void RemoveRecentFile(int FileIndex);
|
2011-09-07 23:06:51 +02:00
|
|
|
|
2013-08-09 06:57:18 +02:00
|
|
|
void SplitHorizontal();
|
|
|
|
void SplitVertical();
|
|
|
|
void RemoveView();
|
|
|
|
void ResetViews();
|
2011-09-07 23:06:51 +02:00
|
|
|
|
2013-08-09 06:57:18 +02:00
|
|
|
void TogglePrintPreview();
|
|
|
|
void ToggleFullScreen();
|
|
|
|
|
2014-08-07 17:22:33 +02:00
|
|
|
void UpdateFocusObject(lcObject* Focus);
|
|
|
|
void UpdateSelectedObjects(int Flags, int SelectedCount, lcObject* Focus);
|
2013-08-09 06:57:18 +02:00
|
|
|
void UpdateAction(int NewAction);
|
|
|
|
void UpdatePaste(bool Enabled);
|
2014-07-06 08:04:09 +02:00
|
|
|
void UpdateCurrentStep();
|
2014-05-21 00:15:42 +02:00
|
|
|
void SetAddKeys(bool AddKeys);
|
2013-08-09 06:57:18 +02:00
|
|
|
void UpdateLockSnap(lcuint32 Snap);
|
|
|
|
void UpdateSnap();
|
|
|
|
void UpdateUndoRedo(const char* UndoText, const char* RedoText);
|
|
|
|
void UpdateTransformType(int NewType);
|
|
|
|
void UpdateCurrentCamera(int CameraIndex);
|
2014-05-03 23:16:48 +02:00
|
|
|
void UpdatePerspective();
|
|
|
|
void UpdateCameraMenu();
|
2013-08-09 06:57:18 +02:00
|
|
|
void UpdateCategories();
|
|
|
|
void UpdateTitle(const char* Title, bool Modified);
|
|
|
|
void UpdateModified(bool Modified);
|
|
|
|
void UpdateRecentFiles();
|
|
|
|
void UpdateShortcuts();
|
|
|
|
|
|
|
|
lcVector3 GetTransformAmount();
|
|
|
|
|
|
|
|
char mRecentFiles[LC_MAX_RECENT_FILES][LC_MAXPATH];
|
|
|
|
PiecePreview* mPreviewWidget;
|
|
|
|
int mColorIndex;
|
2014-05-03 23:16:48 +02:00
|
|
|
|
|
|
|
protected:
|
|
|
|
View* mActiveView;
|
|
|
|
lcArray<View*> mViews;
|
2014-05-21 00:15:42 +02:00
|
|
|
|
|
|
|
bool mAddKeys;
|
2014-05-23 02:02:21 +02:00
|
|
|
lcTool mTool;
|
2011-09-07 23:06:51 +02:00
|
|
|
};
|
|
|
|
|
2013-08-09 06:57:18 +02:00
|
|
|
extern class lcMainWindow* gMainWindow;
|
|
|
|
|
2013-08-16 03:20:51 +02:00
|
|
|
#endif // _LC_MAINWND_H_
|