MainForm.h
#pragma once
namespace Core
{
ref class SelectEventArgs;
ref class FileEventArgs;
ref class ModelPanel;
ref class MotionPanel;
/// <summary>
/// メインフォーム
/// </summary>
public ref class MainForm : public System::Windows::Forms::Form
{
// Construction --------------------------------------------------------
public:
MainForm( void );
protected:
~MainForm();
// Operation -----------------------------------------------------------
protected:
virtual void OnLoad( System::EventArgs^ e ) override;
virtual void OnFormClosing( System::Windows::Forms::FormClosingEventArgs^ e ) override;
private:
void InitializeComponent(void);
void InitializePanel();
void LoadPanelLayout();
void LoadApplicationSettings();
void SaveApplicationSettings();
void SetFormTitle();
WeifenLuo::WinFormsUI::Docking::IDockContent^ GetDockingPanel( System::String^ persistString );
// Event Handler -------------------------------------------------------
private:
System::Void AnalysisMenuItemClick(System::Object^ sender, System::EventArgs^ e);
System::Void ChangeExpressionMode(System::Object^ sender, System::EventArgs^ e);
System::Void ExpressionModeMenuItemPopup(System::Object^ sender, System::EventArgs^ e);
System::Void CreateNewMotion(System::Object^ sender, System::EventArgs^ e);
System::Void SaveMotionToFileGivingName(System::Object^ sender, System::EventArgs^ e);
System::Void SaveMotionToFile(System::Object^ sender, System::EventArgs^ e);
void LoadMotionFromFile( System::Object^ sender, FileEventArgs^ e );
void ModelSelected( System::Object^ sender, SelectEventArgs^ e );
// Attribute ===========================================================
private:
ModelPanel^ m_modelPanel; ///< モデルパネル
System::Collections::Generic::List< WeifenLuo::WinFormsUI::Docking::DockContent^ >^ m_dockingPanels; ///< ドッキングパネル
initonly System::String^ m_applicationConfigFileName; ///< アプリケーションの設定ファイル名
initonly System::String^ m_panelLayoutConfigFileName; ///< パネル レイアウトの設定ファイル名
//
// 以降は デザイナによって自動生成されたコード
//
private: System::ComponentModel::Container^ components;
private: Core::MotionPanel^ m_motionPanel;
private: System::Windows::Forms::StatusStrip^ m_statusBar;
private: System::Windows::Forms::MenuStrip^ m_menuBar;
private: WeifenLuo::WinFormsUI::Docking::DockPanel^ m_dockPanel;
private: System::Windows::Forms::ToolStripMenuItem^ m_viewMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ m_expressionModeMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ m_mechanismModelMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ m_fileMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ m_saveMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ m_saveAsMenuItem;
private: System::Windows::Forms::ToolStrip^ m_toolBar;
private: System::Windows::Forms::ToolStripButton^ m_saveToolButton;
private: System::Windows::Forms::ToolStripContainer^ m_toolStripContainer;
private: System::Windows::Forms::ToolStripMenuItem^ m_newMenuItem;
private: System::Windows::Forms::ToolStripSeparator^ m_separatorMenuItem;
private: System::Windows::Forms::ToolStripButton^ m_newToolButton;
private: System::Windows::Forms::ToolStripSeparator^ m_separatorButton;
private: System::Windows::Forms::ToolStripButton^ m_mechanismModelButton;
private: System::Windows::Forms::ToolStripMenuItem^ m_analysisMenuItem;
// [ Reference ] PropertyGridコントロールの使い方: .NET Tips
// ( http://dobon.net/vb/dotnet/control/propertygrid.html )
// [ Reference ] @IT:.NET TIPS PropertyGridコントロールを利用するには?
// ( http://www.atmarkit.co.jp/fdotnet/dotnettips/285propertygrid/propertygrid.html )
// [ Reference ] .NETでDocking Windowを使う: .NET Tips: C#, VB.NET, Visual Studio
// http://dobon.net/vb/dotnet/links/dockingwindow.html
};
}