📄 modelviewer.h
字号:
#ifndef MODELVIEWER_H
#define MODELVIEWER_H
// wx
#include "wx/wx.h"
#include "wx/filename.h"
#include "wx/fileconf.h"
#include "wx/treectrl.h"
#include "wx/colordlg.h"
#include "wx/msgdlg.h"
//wxIFM
#include <wx/ifm/ifm.h>
// Our files
#include "modelcanvas.h"
#include "animcontrol.h"
#include "charcontrol.h"
#include "viewcontrol.h"
#include "aboutframe.h"
#include "mpq.h"
#include "util.h"
#include "gifexporter.h"
#include "effects.h"
enum
{
ID_MODELVIEWERFRAME = 2000,
ID_EXIT,
ID_SCREENSHOT,
ID_EXPORTGIF,
ID_TEXIMPORT,
ID_TEXEXPORT,
ID_FILELIST,
ID_SHOW_FILE_LIST,
ID_SHOW_ANIM,
ID_SHOW_CHAR,
ID_SHOW_VIEW,
ID_SHOW_MODEL,
ID_SHOW_MASK,
ID_SHOW_BONES,
ID_SHOW_BOUNDS,
ID_SHOW_PARTICLES,
ID_USE_CAMERA,
//ID_USE_LIGHTS,
ID_LT_AMBIENT,
ID_LT_DIRECTIONAL,
ID_LT_MODEL,
ID_LT_COLOR,
ID_LT_DIRECTION,
ID_BACKGROUND,
ID_BG_COLOR,
ID_SKYBOX,
ID_CANVASSIZE,
ID_CANVAS120,
ID_CANVAS512,
ID_CANVAS640,
ID_CANVAS800,
ID_CANVAS1024,
ID_CANVAS1280,
ID_CANVAS1600,
ID_ZOOM_IN,
ID_ZOOM_OUT,
ID_ENCHANTS,
ID_SPELLS,
ID_EQCREATURE_R,
ID_EQCREATURE_L,
ID_RANDOM_CHARS,
ID_RANDOM_SKINS,
ID_USENPCSKINS,
ID_DEFAULT_DOODADS,
ID_DATAPATH,
ID_USEPATCH,
ID_USETESTPATCH,
ID_USELOCALFILES,
//ID_RESET,
ID_NLP,
ID_ELP,
ID_FLP,
ID_GLP,
ID_LOCALE,
ID_HELP,
ID_ABOUT,
ID_MOUNT_CHARACTER
};
class ModelViewer: public wxFrame
{
DECLARE_CLASS(ModelViewer)
DECLARE_EVENT_TABLE()
// wxIFM (Interface Frame Manager) objects
wxInterfaceManager *interfaceManager;
wxIFMDefaultChildData *fileListPanel, *animControlPanel, *charControlPanel, *viewControlPanel;
set<string> filelist;
vector<MPQArchive*> archives;
// save + load character
void SaveChar(const char *fn);
void LoadChar(const char *fn);
public:
// our class objects
AnimControl *animControl;
ModelCanvas *canvas;
CharControl *charControl;
ViewControl *viewControl;
GifExporter *gifExporter;
EnchantsDialog *enchants;
//wxWidget objects
wxMenuBar *menuBar;
wxMenu *charMenu, *viewMenu, *optMenu;
wxTreeCtrl *fileTree;
bool isModel;
bool isChar;
ModelViewer();
~ModelViewer();
ModelViewer(wxWindow* parent, wxWindowID id = -1, const wxString& caption = _T("ModelViewer"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU);
bool Create(wxWindow* parent, wxWindowID id = -1, const wxString& caption = _T("ModelViewer"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU);
void InitMenu();
void InitObjects();
void Init();
void LoadSession();
void SaveSession();
void OnClose(wxCloseEvent &event);
void OnSize(wxSizeEvent &event);
void OnExit(wxCommandEvent &event);
void OnTreeSelect(wxTreeEvent &event);
// menu commands
void OnToggleDock(wxCommandEvent &event);
void OnToggleCommand(wxCommandEvent &event);
void OnSetColor(wxCommandEvent &event);
void OnEffects(wxCommandEvent &event);
void OnSetEquipment(wxCommandEvent &event);
void OnCharToggle(wxCommandEvent &event);
void OnMount(wxCommandEvent &event);
void OnSave(wxCommandEvent &event);
void OnBackground(wxCommandEvent &event);
void OnLanguage(wxCommandEvent &event);
void OnAbout(wxCommandEvent &event);
void OnCanvasSize(wxCommandEvent &event);
Vec3D DoSetColor(const Vec3D &defColor);
};
bool filterModels(string);
bool filterNpcs(string);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -