/[Sims3RigEditor]/trunk/gr2lib_cpp/gr2lib_rigeditor_frm.h
ViewVC logotype

Diff of /trunk/gr2lib_cpp/gr2lib_rigeditor_frm.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5 by william, Thu Jul 29 17:25:37 2010 UTC revision 6 by william, Fri Jul 30 00:28:19 2010 UTC
# Line 9  using namespace System::Collections::Gen Line 9  using namespace System::Collections::Gen
9  using namespace System::Windows::Forms;  using namespace System::Windows::Forms;
10  using namespace System::Data;  using namespace System::Data;
11  using namespace System::Drawing;  using namespace System::Drawing;
12    using namespace System::Runtime::InteropServices;
13    //
14  namespace gr2lib  //namespace gr2lib
15  {  //{
16          namespace core  //      namespace core
17          {  //      {
18                  namespace rigeditor  //              namespace rigeditor
19                  {  //              {
20                          /// <summary>                          /// <summary>
21                          /// Summary for gr2lib_rigeditor_frm                          /// Summary for gr2lib_rigeditor_frm
22                          ///                          ///
# Line 28  namespace gr2lib Line 28  namespace gr2lib
28                          /// </summary>                          /// </summary>
29                          public ref class gr2lib_rigeditor_frm : public System::Windows::Forms::Form                          public ref class gr2lib_rigeditor_frm : public System::Windows::Forms::Form
30                          {                          {
31                            private:                        
32                                    grannyfile* _grn_file;
33                          public:                          public:
34                                  gr2lib_rigeditor_frm(void)                                  gr2lib_rigeditor_frm(void)
35                                  {                                  {
# Line 40  namespace gr2lib Line 42  namespace gr2lib
42                                  {                                  {
43                                          InitializeComponent();                                          InitializeComponent();
44                                          // parse art tool info                                          // parse art tool info
45                                                                                    _grn_file = grn_file;
46                                          ArtToolInfo^ _ArtToolInfo = gcnew ArtToolInfo();                                          propgrid->SelectedObjects = ConvertToManaged();
47                                          _ArtToolInfo->FromArtToolName = gcnew String(reinterpret_cast<const char*>(grn_file->GrannyFileInfo->ArtToolInfo->FromArtToolName));                                  
   
                                                 Vector3* Origin = new Vector3(  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->Origin[0],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->Origin[1],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->Origin[2]);  
                                                 Vector3* Right = new Vector3(  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->RightVector[0],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->RightVector[1],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->RightVector[2]);  
                                                 Vector3* Up = new Vector3(  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->UpVector[0],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->UpVector[1],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->UpVector[2]);  
                                                 Vector3* Back = new Vector3(  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->BackVector[0],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->BackVector[1],  
                                                         grn_file->GrannyFileInfo->ArtToolInfo->BackVector[2]);  
   
                                         _ArtToolInfo->Vector = gcnew ArtToolInfoVector(*Origin,*Right,*Up,*Back);  
   
                                         List<Object^> _selected_object_list = gcnew List<Object^>();  
                                         _selected_object_list.Add(_ArtToolInfo);  
   
                                         propgrid->SelectedObjects = _selected_object_list.ToArray();  
48                                  }                                  }
49    
50                          protected:                          protected:
# Line 82  namespace gr2lib Line 60  namespace gr2lib
60                                  }                                  }
61                          private: System::Windows::Forms::PropertyGrid^  propgrid;                          private: System::Windows::Forms::PropertyGrid^  propgrid;
62                          protected:                          protected:
63                            private: System::Windows::Forms::MenuStrip^  mainmenu;
64                            private: System::Windows::Forms::ToolStripMenuItem^  mnuFile;
65                            private: System::Windows::Forms::ToolStripMenuItem^  mnuItemExit;
66                            private: System::Windows::Forms::ToolStripMenuItem^  mnuItemOpen;
67                            private: System::Windows::Forms::ToolStripMenuItem^  mnuItemSave;
68                            private: System::Windows::Forms::ToolStripMenuItem^  mnuItemSaveAs;
69    
70                            protected:
71    
72                          private:                          private:
73                                  /// <summary>                                  /// <summary>
# Line 97  namespace gr2lib Line 83  namespace gr2lib
83                                  void InitializeComponent(void)                                  void InitializeComponent(void)
84                                  {                                  {
85                                          this->propgrid = (gcnew System::Windows::Forms::PropertyGrid());                                          this->propgrid = (gcnew System::Windows::Forms::PropertyGrid());
86                                            this->mainmenu = (gcnew System::Windows::Forms::MenuStrip());
87                                            this->mnuFile = (gcnew System::Windows::Forms::ToolStripMenuItem());
88                                            this->mnuItemExit = (gcnew System::Windows::Forms::ToolStripMenuItem());
89                                            this->mnuItemOpen = (gcnew System::Windows::Forms::ToolStripMenuItem());
90                                            this->mnuItemSave = (gcnew System::Windows::Forms::ToolStripMenuItem());
91                                            this->mnuItemSaveAs = (gcnew System::Windows::Forms::ToolStripMenuItem());
92                                            this->mainmenu->SuspendLayout();
93                                          this->SuspendLayout();                                          this->SuspendLayout();
94                                          //                                          //
95                                          // propgrid                                          // propgrid
96                                          //                                          //
97                                          this->propgrid->Dock = System::Windows::Forms::DockStyle::Fill;                                          this->propgrid->Dock = System::Windows::Forms::DockStyle::Fill;
98                                          this->propgrid->Location = System::Drawing::Point(0, 0);                                          this->propgrid->Location = System::Drawing::Point(0, 24);
99                                          this->propgrid->Name = L"propgrid";                                          this->propgrid->Name = L"propgrid";
100                                          this->propgrid->Size = System::Drawing::Size(284, 262);                                          this->propgrid->PropertySort = System::Windows::Forms::PropertySort::Categorized;
101                                          this->propgrid->TabIndex = 1;                                          this->propgrid->Size = System::Drawing::Size(558, 456);
102                                            this->propgrid->TabIndex = 4;
103                                            this->propgrid->ToolbarVisible = false;
104                                            //
105                                            // mainmenu
106                                            //
107                                            this->mainmenu->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(1) {this->mnuFile});
108                                            this->mainmenu->Location = System::Drawing::Point(0, 0);
109                                            this->mainmenu->Name = L"mainmenu";
110                                            this->mainmenu->Size = System::Drawing::Size(558, 24);
111                                            this->mainmenu->TabIndex = 3;
112                                            this->mainmenu->Text = L"menuStrip1";
113                                            //
114                                            // mnuFile
115                                            //
116                                            this->mnuFile->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(4) {this->mnuItemOpen,
117                                                    this->mnuItemSave, this->mnuItemSaveAs, this->mnuItemExit});
118                                            this->mnuFile->Name = L"mnuFile";
119                                            this->mnuFile->Size = System::Drawing::Size(37, 20);
120                                            this->mnuFile->Text = L"&File";
121                                            //
122                                            // mnuItemExit
123                                            //
124                                            this->mnuItemExit->Name = L"mnuItemExit";
125                                            this->mnuItemExit->Size = System::Drawing::Size(152, 22);
126                                            this->mnuItemExit->Text = L"&Exit";
127                                            this->mnuItemExit->Click += gcnew System::EventHandler(this, &gr2lib_rigeditor_frm::mnuItemExit_Click);
128                                            //
129                                            // mnuItemOpen
130                                            //
131                                            this->mnuItemOpen->Name = L"mnuItemOpen";
132                                            this->mnuItemOpen->Size = System::Drawing::Size(152, 22);
133                                            this->mnuItemOpen->Text = L"&Open";
134                                            this->mnuItemOpen->Click += gcnew System::EventHandler(this, &gr2lib_rigeditor_frm::mnuItemOpen_Click);
135                                            //
136                                            // mnuItemSave
137                                            //
138                                            this->mnuItemSave->Name = L"mnuItemSave";
139                                            this->mnuItemSave->Size = System::Drawing::Size(152, 22);
140                                            this->mnuItemSave->Text = L"&Save";
141                                            //
142                                            // mnuItemSaveAs
143                                            //
144                                            this->mnuItemSaveAs->Name = L"mnuItemSaveAs";
145                                            this->mnuItemSaveAs->Size = System::Drawing::Size(152, 22);
146                                            this->mnuItemSaveAs->Text = L"Save &As";
147                                          //                                          //
148                                          // gr2lib_rigeditor_frm                                          // gr2lib_rigeditor_frm
149                                          //                                          //
150                                          this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);                                          this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
151                                          this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;                                          this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
152                                          this->ClientSize = System::Drawing::Size(284, 262);                                          this->ClientSize = System::Drawing::Size(558, 480);
153                                          this->Controls->Add(this->propgrid);                                          this->Controls->Add(this->propgrid);
154                                            this->Controls->Add(this->mainmenu);
155                                          this->Name = L"gr2lib_rigeditor_frm";                                          this->Name = L"gr2lib_rigeditor_frm";
156                                          this->Text = L"gr2lib_rigeditor_frm";                                          this->Text = L"gr2lib_rigeditor_frm";
157                                            this->mainmenu->ResumeLayout(false);
158                                            this->mainmenu->PerformLayout();
159                                          this->ResumeLayout(false);                                          this->ResumeLayout(false);
160                                            this->PerformLayout();
161    
162                                  }                                  }
163                  #pragma endregion                  #pragma endregion
                         };  
                 }  
         }  
 }  
164    #pragma region MarshalToMananaged
165                                    ArtToolInfo^ _ArtToolInfo;
166    
167                                    #pragma region ManagedNativeParsing
168                                    array<Object^>^ ConvertToManaged()
169                                    {
170                                            List<Object^> ret = gcnew List<Object^>();
171    
172                                            // Art Tool info
173                                                    ret.Add(ArtToolInfo_ToManaged(_grn_file->GrannyFileInfo->ArtToolInfo));
174    
175                                            return ret.ToArray();
176                                    }
177                                    void ConvertToNative()
178                                    {
179                                            // Art Tool info
180                                            ArtToolInfo_ToNative();
181                                    }
182                                    #pragma endregion
183                                                    
184                                                    #pragma region ArtToolInfo
185                                                    ArtToolInfo^ ArtToolInfo_ToManaged(granny_art_tool_info* toolinfo)
186                                                    {
187                                                            _ArtToolInfo = gcnew ArtToolInfo();
188                                                            // Tool Name
189                                                            _ArtToolInfo->FromArtToolName = gcnew String(reinterpret_cast<const char*>(toolinfo->FromArtToolName));
190    
191                                                            // Tool Vector
192                                                            Vector3* Origin = new Vector3(
193                                                                    toolinfo->Origin[0],
194                                                                    toolinfo->Origin[1],
195                                                                    toolinfo->Origin[2]);
196                                                            Vector3* Right = new Vector3(
197                                                                    toolinfo->RightVector[0],
198                                                                    toolinfo->RightVector[1],
199                                                                    toolinfo->RightVector[2]);
200                                                            Vector3* Up = new Vector3(
201                                                                    toolinfo->UpVector[0],
202                                                                    toolinfo->UpVector[1],
203                                                                    toolinfo->UpVector[2]);
204                                                            Vector3* Back = new Vector3(
205                                                                    toolinfo->BackVector[0],
206                                                                    toolinfo->BackVector[1],
207                                                                    toolinfo->BackVector[2]);
208                                                            _ArtToolInfo->Vector = gcnew ArtToolInfoVector(*Origin,*Right,*Up,*Back);
209    
210                                                            // Tool Version
211                                                            _ArtToolInfo->ToolVersion = gcnew ArtToolInfoVersion(toolinfo->ArtToolMajorRevision,toolinfo->ArtToolMinorRevision);
212                                                            // Tool Units Per Meter
213                                                            _ArtToolInfo->UnitsPerMeter = toolinfo->UnitsPerMeter;
214                                                            return _ArtToolInfo;
215                                                    }
216                                                    #pragma endregion
217    
218                                                    #pragma region MarshalToNative
219    
220                                                    #pragma region ArtToolInfo
221                                                    void ArtToolInfo_ToNative()
222                                                    {
223                                                            
224                                                            _grn_file->GrannyFileInfo->ArtToolInfo->FromArtToolName = (char*)Marshal::StringToHGlobalAnsi(_ArtToolInfo->FromArtToolName).ToPointer();
225                                                            _grn_file->GrannyFileInfo->ArtToolInfo->ArtToolMajorRevision = _ArtToolInfo->ToolVersion->Major;
226                                                            _grn_file->GrannyFileInfo->ArtToolInfo->ArtToolMinorRevision = _ArtToolInfo->ToolVersion->Minor;
227                                                            _grn_file->GrannyFileInfo->ArtToolInfo->UnitsPerMeter = _ArtToolInfo->UnitsPerMeter;
228                                                            
229                                                            
230                                                            _grn_file->GrannyFileInfo->ArtToolInfo->Origin[0] = _ArtToolInfo->Vector->Origin.x;
231                                                            _grn_file->GrannyFileInfo->ArtToolInfo->Origin[1] = _ArtToolInfo->Vector->Origin.y;
232                                                            _grn_file->GrannyFileInfo->ArtToolInfo->Origin[2] = _ArtToolInfo->Vector->Origin.z;
233                                                            
234                                                            _grn_file->GrannyFileInfo->ArtToolInfo->RightVector[0] = _ArtToolInfo->Vector->Right.x;
235                                                            _grn_file->GrannyFileInfo->ArtToolInfo->RightVector[1] = _ArtToolInfo->Vector->Right.y;
236                                                            _grn_file->GrannyFileInfo->ArtToolInfo->RightVector[2] = _ArtToolInfo->Vector->Right.z;
237    
238                                                            _grn_file->GrannyFileInfo->ArtToolInfo->UpVector[0] = _ArtToolInfo->Vector->Up.x;
239                                                            _grn_file->GrannyFileInfo->ArtToolInfo->UpVector[1] = _ArtToolInfo->Vector->Up.y;
240                                                            _grn_file->GrannyFileInfo->ArtToolInfo->UpVector[2] = _ArtToolInfo->Vector->Up.z;
241    
242                                                            _grn_file->GrannyFileInfo->ArtToolInfo->BackVector[0] = _ArtToolInfo->Vector->Back.x;
243                                                            _grn_file->GrannyFileInfo->ArtToolInfo->BackVector[1] = _ArtToolInfo->Vector->Back.y;
244                                                            _grn_file->GrannyFileInfo->ArtToolInfo->BackVector[2] = _ArtToolInfo->Vector->Back.z;
245    
246                                                    }
247                                                    #pragma endregion
248    
249                                                    #pragma endregion
250                                                    
251                                                    #pragma endregion
252    private: System::Void mnuItemExit_Click(System::Object^  sender, System::EventArgs^  e)
253                     {
254                             ConvertToNative();
255                             this->Close();
256                     }
257    private: System::Void mnuItemOpen_Click(System::Object^  sender, System::EventArgs^  e)
258                     {
259                            _grn_file = new grannyfile("C:\\Program Files\\Granny Viewer\\Gryphon.gr2");
260                            propgrid->SelectedObjects = ConvertToManaged();
261                     }
262    };
263    //              }
264    //      }
265    //}

Legend:
Removed from v.5  
changed lines
  Added in v.6

  ViewVC Help
Powered by ViewVC 1.1.22