From 449cc186d5b8117d74ba22d6173497d00939f5f1 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Sat, 28 Apr 2012 17:53:17 +0200 Subject: Source files split into modules --- src/ui/studio.h | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 src/ui/studio.h (limited to 'src/ui/studio.h') diff --git a/src/ui/studio.h b/src/ui/studio.h new file mode 100644 index 0000000..a19bedd --- /dev/null +++ b/src/ui/studio.h @@ -0,0 +1,117 @@ +// * This file is part of the COLOBOT source code +// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch +// * +// * This program is free software: you can redistribute it and/or modify +// * it under the terms of the GNU General Public License as published by +// * the Free Software Foundation, either version 3 of the License, or +// * (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU General Public License +// * along with this program. If not, see http://www.gnu.org/licenses/. + +// studio.h + +#ifndef _STUDIO_H_ +#define _STUDIO_H_ + + +#include "object.h" +#include "script.h" + + +class CInstanceManager; +class CD3DEngine; +class CEvent; +class CRobotMain; +class CCamera; +class CSound; +class CInterface; +class CScript; +class CList; +class CEdit; + + + +enum StudioDialog +{ + SD_NULL, + SD_OPEN, + SD_SAVE, + SD_FIND, + SD_REPLACE, +}; + + + +class CStudio +{ +public: + CStudio(CInstanceManager* iMan); + ~CStudio(); + + BOOL EventProcess(const Event &event); + + void StartEditScript(CScript *script, char* name, int rank); + BOOL StopEditScript(BOOL bCancel); + +protected: + BOOL EventFrame(const Event &event); + void SearchToken(CEdit* edit); + void ColorizeScript(CEdit* edit); + void AdjustEditScript(); + void SetInfoText(char *text, BOOL bClickable); + void ViewEditScript(); + void UpdateFlux(); + void UpdateButtons(); + + void StartDialog(StudioDialog type); + void StopDialog(); + void AdjustDialog(); + BOOL EventDialog(const Event &event); + void UpdateChangeList(); + void UpdateChangeEdit(); + void UpdateDialogAction(); + void UpdateDialogPublic(); + void UpdateDialogList(); + void SearchDirectory(char *dir, BOOL bCreate); + BOOL ReadProgram(); + BOOL WriteProgram(); + +protected: + CInstanceManager* m_iMan; + CD3DEngine* m_engine; + CEvent* m_event; + CRobotMain* m_main; + CCamera* m_camera; + CSound* m_sound; + CInterface* m_interface; + + int m_rank; + CScript* m_script; + + BOOL m_bEditMaximized; + BOOL m_bEditMinimized; + + CameraType m_editCamera; + FPOINT m_editActualPos; + FPOINT m_editActualDim; + FPOINT m_editFinalPos; + FPOINT m_editFinalDim; + + float m_time; + float m_fixInfoTextTime; + BOOL m_bRunning; + BOOL m_bRealTime; + BOOL m_bInitPause; + char m_helpFilename[100]; + + StudioDialog m_dialog; +}; + + +#endif //_STUDIO_H_ -- cgit v1.2.3-1-g7c22