#pragma once
#include "BaseForm.h"
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;


namespace ObjDataEdit
{
	/// <summary> 
	/// Summary for FlagObjForm
	///
	/// WARNING: If you change the name of this class, you will need to change the 
	///          'Resource File Name' property for the managed resource compiler tool 
	///          associated with all .resx files this class depends on.  Otherwise,
	///          the designers will not be able to interact properly with localized
	///          resources associated with this form.
	/// </summary>
#ifndef _Just_Show_DotNet_Form_
    public __gc class FlagObjForm : public System::Windows::Forms::Form
#else 
    public __gc class FlagObjForm : public BaseForm
#endif	

	{
	public: 
        FlagObjForm( char* FormName , char* DBName , char* OutputFile  , bool IsReadOnly , SearchFormTypeENUM FormType ) :  BaseForm( FormName , DBName , OutputFile  , IsReadOnly , FormType )
        {
            InitializeComponent();
            this->panel4_Base->Controls->Add(this->panel1);
        }        
	protected: 
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
    private: System::Windows::Forms::Panel *  panel1;

	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container* components;

		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
            this->panel1 = new System::Windows::Forms::Panel();
            this->SuspendLayout();
            // 
            // panel1
            // 
            this->panel1->Dock = System::Windows::Forms::DockStyle::Fill;
            this->panel1->Location = System::Drawing::Point(0, 0);
            this->panel1->Name = S"panel1";
            this->panel1->Size = System::Drawing::Size(784, 726);
            this->panel1->TabIndex = 0;
            // 
            // FlagObjForm
            // 
            this->AutoScaleBaseSize = System::Drawing::Size(5, 15);
            this->ClientSize = System::Drawing::Size(784, 726);
            this->Controls->Add(this->panel1);
            this->Name = S"FlagObjForm";
            this->Text = S"FlagObjForm";
            this->ResumeLayout(false);

        }		
#ifndef _Just_Show_DotNet_Form_
    private:
        System::Void GetStr_TextChanged(System::Object *  sender, System::EventArgs *  e);
        System::Void GetValue_ValueChanged(System::Object *  sender, System::EventArgs *  e);
        System::Void ChangeFlag(System::Object *  sender, System::EventArgs *  e);
        System::Void GetIndex_SelectedIndexChanged(System::Object *  sender, System::EventArgs *  e);
        System::Void GetIntValue_TextChanged(System::Object *  sender, System::EventArgs *  e);
        System::Void BaseForm_Closing(System::Object *  sender, System::ComponentModel::CancelEventArgs *  e);
        System::Void SearchObj_DClick(System::Object *  sender, System::EventArgs *  e);
#endif
        //######################################################################################################
    protected:
        //主要需要繼承的涵式
        virtual ReaderClass< DB_GameObjDbStruct >* ObjReader( );       
        virtual void    OnActive();
        virtual void    OnSelectObj( bool LockOk );
        //輸出時額外設定
        virtual void    OnOutputObjSetting( DB_GameObjDbStruct* TempObj );
        virtual void    OnTimeProc();
        virtual int     ObjSize();
        //######################################################################################################

	};
}