leocad/common/lc_mainwindow.h

112 lines
2.1 KiB
C
Raw Normal View History

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
2014-09-21 03:31:01 +02:00
struct lcSearchOptions
{
bool MatchInfo;
bool MatchColor;
bool MatchName;
PieceInfo* Info;
int ColorIndex;
char Name[256];
};
2013-08-09 06:57:18 +02:00
class lcMainWindow : public lcBaseWindow
2011-09-07 23:06:51 +02:00
{
2014-09-21 03:31:01 +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-08-27 18:17:09 +02:00
lcTransformType GetTransformType() const
{
return mTransformType;
}
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);
2014-08-27 18:17:09 +02:00
void SetTransformType(lcTransformType TransformType);
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();
2014-09-15 01:32:58 +02:00
void UpdateUndoRedo(const QString& UndoText, const QString& RedoText);
2013-08-09 06:57:18 +02:00
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-09-21 03:31:01 +02:00
lcSearchOptions mSearchOptions;
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;
2014-08-27 18:17:09 +02:00
lcTransformType mTransformType;
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_