Esempio n. 1
0
        /// <summary>
        /// コンストラクター
        /// </summary>
        public dlgEVSettings(EVData ev, string mapGUID, CtrlComponent.Text.ctlCommandTree comTree, CtrlComponent.Database.ctlDatabaseEditor dbCtl)
        {
            this.InitializeComponent();
            Common.EnableDoubleBuffering(this);
            this.Result                         = ev;
            this.MapGUID                        = mapGUID;
            this.comTree                        = comTree;
            this.comTreeParent                  = comTree.Parent; //元々コマンドツリーを格納していたコントロールを覚えておく
            this.comTree.RequestInsertCode     += this.uctlComTree_RequestInsertCode;
            this.comTree.EnabledEasyEditorTools = true;           //Easyエディターツール群を有効にする
            this.dbCtl = dbCtl;

            //NOTE: イベント情報 IN
            //初期設定
            this.numID.Value          = ev.VisibleID;
            this.txtName.Text         = ev.Name;
            this.uctlPosition.Maximum = new Point(Map.MaxMapSize);
            this.uctlPosition.Result  = ev.TilePosition;

            //イベント情報をもとにセットする
            foreach (var page in ev.Pages)
            {
                if (this.addPage())
                {
                    ((CtrlComponent.Map.ctlEVPage) this.tbcEVPages.TabPages[this.tbcEVPages.TabCount - 1].Controls[0]).SetEVPageData(page.Clone() as EVData.EventOnePage);
                }
            }
            var ctl = (this.tbcEVPages.SelectedTab.Controls[0] as CtrlComponent.Map.ctlEVPage);

            ctl.uctlEVCommandEditor.Setup(comTree);
            ctl.uctlTextEditor.Setup(dbCtl);
            this.tbcEVPages_Selecting(this, new TabControlCancelEventArgs(this.tbcEVPages.SelectedTab, this.tbcEVPages.SelectedIndex, false, TabControlAction.Selecting));
        }
Esempio n. 2
0
        /// <summary>
        /// コンストラクター
        /// </summary>
        public dlgEVTemplates(EVData ev, string mapGUID, CtrlComponent.Text.ctlCommandTree comTree, CtrlComponent.Database.ctlDatabaseEditor dbCtl)
        {
            this.InitializeComponent();
            Common.EnableDoubleBuffering(this);
            this.ev           = ev;
            this.tilePosition = ev.TilePosition;
            this.MapGUID      = mapGUID;
            this.comTree      = comTree;
            this.dbCtl        = dbCtl;
            this.dbList       = dbCtl.DBList;

            // デフォルトの可視ID
            this.numEVVisibleID.Value = ev.VisibleID;

            //初期設定
            //リンク
            this.uctlSQChangeMapLink.DBList = this.dbList;

            //ドア
            Database.CreateComboBoxListFromSrcDB(this.cmbKeyItemDoor, this.dbList[Database.DBIndices.Item].DBs[0], true);
            Database.CreateComboBoxListFromSrcDB(this.cmbSEDoor, this.dbList[Database.DBIndices.Material].DBs[(int)Database.DBMaterialIndices.Sound], true);
            Database.SelectComboBoxItemFromIDName(this.cmbSEDoor, Settings.Default.Last_EVTemplate_DoorSE);
            if (this.cmbSEDoor.SelectedIndex == -1)
            {
                this.cmbSEDoor.SelectedIndex = 0;    //「なし」を選択
            }

            //ドア+リンク
            Database.CreateComboBoxListFromSrcDB(this.cmbKeyItemDL, this.dbList[Database.DBIndices.Item].DBs[0], true);
            Database.CreateComboBoxListFromSrcDB(this.cmbSEDL, this.dbList[Database.DBIndices.Material].DBs[(int)Database.DBMaterialIndices.Sound], true);
            Database.SelectComboBoxItemFromIDName(this.cmbSEDL, Settings.Default.Last_EVTemplate_DoorSE);
            this.uctlSQChangeMapDL.DBList = this.dbList;
            if (this.cmbSEDL.SelectedIndex == -1)
            {
                this.cmbSEDL.SelectedIndex = 0;    //「なし」を選択
            }

            //村人
            this.uctlSQMessageHuman.SetDBList(this.dbList);

            //財宝
            Database.CreateComboBoxListFromSrcDB(this.cmbOpenSETreasure, this.dbList[Database.DBIndices.Material].DBs[(int)Database.DBMaterialIndices.Sound], true);
            Database.CreateComboBoxListFromSrcDB(this.cmbItemTreasure, this.dbList[Database.DBIndices.Item].DBs[0], false);
            Database.CreateComboBoxListFromSrcDB(this.cmbKeyItemTreasure, this.dbList[Database.DBIndices.Item].DBs[0], true);
            Database.CreateComboBoxListFromSrcDB(this.cmbSelfValueTreasure, this.dbList[Database.DBIndices.Value].DBs[(int)Database.DBValueIndices.SelfEvent], false);
            Database.SelectComboBoxItemFromIDName(this.cmbOpenSETreasure, Settings.Default.Last_EVTemplate_TreasureSE);
            this.rdbMoneyTreasure.Checked = true;
            if (this.cmbOpenSETreasure.SelectedIndex == -1)
            {
                this.cmbOpenSETreasure.SelectedIndex = 0;    //「なし」を選択
            }

            //お店
            Database.CreateComboBoxListFromSrcDB(this.cmbFaceShop, this.dbList[Database.DBIndices.Material].DBs[(int)Database.DBMaterialIndices.Face], true);
            Database.CreateComboBoxListFromSrcDB(this.cmbItemDBShop, this.dbList[Database.DBIndices.Item].DBs[0]);
            this.uctlShopItemList.SetupList(new string[] { "商品名" }, null, true);

            //ユーザー定義
            this.reloadEVTemplates();
        }
Esempio n. 3
0
        /// <summary>
        /// コマンドツリーをセットアップします。
        /// これはプロジェクトが読み込まれた後に呼び出して下さい。
        /// </summary>
        public void Setup(CtrlComponent.Database.ctlDatabaseEditor dbCtl, CtrlComponent.Map.mgrMapObject mgrMap)
        {
            this.dbCtl  = dbCtl;
            this.mgrMap = mgrMap;
            var subNodes = new List <TreeNode>();

            //オートコンプリートのソースを更新

            //組み込みオブジェクトは 定数・列挙体・変数 ノード以下に絞る
            AutoCompleteSource.Clear();
            subNodes.AddRange(Common.GetNodeListToFlat(this.trvTree.Nodes[NodeNameCppObject].Nodes[NodeNameCppObjConst]));
            subNodes.AddRange(Common.GetNodeListToFlat(this.trvTree.Nodes[NodeNameCppObject].Nodes[NodeNameCppObjEnum]));
            subNodes.AddRange(Common.GetNodeListToFlat(this.trvTree.Nodes[NodeNameCppObject].Nodes[NodeNameCppObjValue]));
            AutoCompleteSource.AddRange(subNodes);
            foreach (var node1 in subNodes)
            {
                AutoCompleteSourceAll.Add(ctlCommandTree.GetCode(node1));
            }

            //プロジェクト関連のスクリプトからノード生成する
            this.trvTree.BeginUpdate();
            foreach (TreeNode node in this.trvTree.Nodes)
            {
                switch (node.Text)
                {
                case NodeSQConst:
                    //定数定義スクリプトを読み込む
                    SQ.SetSQConstantsTree(node, Resources.Path_Scripts_Constants);
                    break;

                case NodeSQFunc:
                    //関数定義スクリプトを読み込む
                    SQ.SetSQFunctionsTree(node, Resources.Path_Scripts_Functions);
                    break;
                }

                //オートコンプリートのソースに追加
                subNodes = Common.GetNodeListToFlat(node);
                AutoCompleteSource.AddRange(subNodes);
                foreach (var node2 in subNodes)
                {
                    AutoCompleteSourceAll.Add(ctlCommandTree.GetCode(node2));
                }
            }

            //コマンドツリーの並び替え実行
            this.trvTree.TreeViewNodeSorter = new CommandTreeSorter();
            this.trvTree.EndUpdate();

            ////オートコンプリートのノード情報リストの並び替え実行
            //AutoCompleteSource.Sort((x, y) => {
            //	//コードの文字列逆順にする
            //	var xcode = GetCode(x);
            //	var ycode = GetCode(y);
            //	return -string.Compare(xcode, ycode);
            //});
        }
Esempio n. 4
0
        /// <summary>
        /// すべてのデータベースをセットアップします。
        /// </summary>
        public static void AllDBSetup(List <Control> dbList, CtrlComponent.Database.ctlDatabaseEditor editor)
        {
            foreach (DataGridView db in dbList)
            {
                //初期設定
                if (db.AllowUserToAddRows && db.Name != "UDB")
                {
                    //左端に不可視のFixedID列を生成する
                    Database.AddFixedIDColumn(db);
                }

                //共通イベントハンドラーの関連付け:ユーザーが編集するコントロールに限る
                if (db.Enabled)
                {
                    db.DataError           += editor.dataErrorHandler;
                    db.RowValidating       += editor.errorRowCheckHandler;
                    db.RowValidated        += editor.errorRowCheckedHandler;
                    db.CellContentClick    += editor.clickButtonCell;
                    db.RowsAdded           += editor.newRowCreated;
                    db.DefaultValuesNeeded += editor.setDefaultValues;
                    db.SortCompare         += editor.sortCompareOnColumnHeader;
                }
            }
        }
Esempio n. 5
0
 /// <summary>
 /// テキストエディターをセットアップします。
 /// これはプロジェクトが読み込まれた後に呼び出して下さい。
 /// </summary>
 public void Setup(CtrlComponent.Database.ctlDatabaseEditor dbCtl)
 {
     this.DBCtrl = dbCtl;
 }
Esempio n. 6
0
        /// <summary>
        /// コンストラクター
        /// </summary>
        public dlgEditColumn(DBColumn col, DataGridView dgv, CtrlComponent.Database.ctlDatabaseEditor mgr)
        {
            this.InitializeComponent();
            this.dbList = mgr.DBList;
            this.uctlMyList.SetupList(new string[] { "項目名" }, null);

            //依存先データベースリストを生成
            var dblist = mgr.GetAllDBList();

            ComboBox[] tgt = { this.cmbDBsList, this.cmbDBsIDNames, this.cmbButtonSrcDB };
            foreach (var cmb in tgt)
            {
                Common.SetListControlKeyValuePairMode(cmb);
                foreach (var db in dblist)
                {
                    var name = mgr.GetDBName(db.Key);
                    if (string.IsNullOrEmpty(name) == false && db.Value.AllowUserToAddRows)
                    {
                        cmb.Items.Add(new DBListType(name, db.Key));
                    }
                }
            }

            //ComboBoxの項目を選択する処理の定義
            var restoreSrcDB = new Action <ComboBox, Database.DBAddress>((cmb, address) => {
                var i = 0;
                foreach (DBListType cmbList in cmb.Items)
                {
                    if (address == new Database.DBAddress(cmbList.Value.MainID, cmbList.Value.SubID))
                    {
                        cmb.SelectedIndex = i;
                        break;
                    }
                    i++;
                }
            });

            //既存データを復元する
            if (col == null)
            {
                return;     //新規作成の場合は処理しない
            }

            this.txtHeaderText.Text = col.HeaderText;

            //クラスの継承関係の都合上、末端の派生先から先に確認していく
            if (col is DBColumnTextNumbers)
            {
                //テキスト系
                this.tbcFormType.SelectedIndex = (int)DBColumnType.TextNumbers;
                this.numIntsMax.Value          = ((DBColumnTextOneNumber)col).MaxValue;
                this.numIntsMin.Value          = ((DBColumnTextOneNumber)col).MinValue;
            }
            else if (col is DBColumnTextOneNumber)
            {
                this.tbcFormType.SelectedIndex = (int)DBColumnType.TextOneNumber;
                this.numOneIntMax.Value        = ((DBColumnTextOneNumber)col).MaxValue;
                this.numOneIntMin.Value        = ((DBColumnTextOneNumber)col).MinValue;
            }
            else if (col is DBColumnTextIDNames)
            {
                this.tbcFormType.SelectedIndex  = (int)DBColumnType.TextIDNames;
                this.chkTextIDValueMode.Checked = false;
                restoreSrcDB(this.cmbDBsIDNames, ((DBColumnTextIDNames)col).SrcDBAddress);
            }
            else if (col is DBColumnTextIDValues)
            {
                this.tbcFormType.SelectedIndex  = (int)DBColumnType.TextIDNames;
                this.chkTextIDValueMode.Checked = true;
                restoreSrcDB(this.cmbDBsIDNames, ((DBColumnTextIDValues)col).SrcDBAddress);
            }
            else if (col is DBColumnListDB)
            {
                //リスト系
                this.tbcFormType.SelectedIndex = (int)DBColumnType.List;
                this.rdbFromDB.Checked         = true;
                restoreSrcDB(this.cmbDBsList, ((DBColumnListDB)col).SrcDBAddress);
            }
            else if (col is DBColumnListUser)
            {
                this.tbcFormType.SelectedIndex = (int)DBColumnType.List;
                this.rdbFromMyList.Checked     = true;
                var editList = new List <ListViewItem>();
                foreach (var item in ((DBColumnListUser)col).SrcMyList)
                {
                    editList.Add(new ListViewItem(item));
                }
                this.uctlMyList.SetupList(new string[] { "項目名" }, editList);
            }
            else if (col is DBColumnButtonInputIDNames)
            {
                //ボタン系
                this.tbcFormType.SelectedIndex    = (int)DBColumnType.Button;
                this.rdbButtonIDNames.Checked     = true;
                this.chkButtonIDValueMode.Checked = false;
                restoreSrcDB(this.cmbButtonSrcDB, ((DBColumnButtonInputIDNames)col).SrcDBAddress);
                this.numIDNameSetterDestColumnIndex.Value = ((DBColumnButtonInputIDNames)col).DestColumnIndex;
            }
            else if (col is DBColumnButtonInputIDValues)
            {
                this.tbcFormType.SelectedIndex    = (int)DBColumnType.Button;
                this.rdbButtonIDNames.Checked     = true;
                this.chkButtonIDValueMode.Checked = true;
                restoreSrcDB(this.cmbButtonSrcDB, ((DBColumnButtonInputIDValues)col).SrcDBAddress);
                this.numIDNameSetterDestColumnIndex.Value = ((DBColumnButtonInputIDValues)col).DestColumnIndex;
            }
            else if (col is DBColumnButtonSelectFile)
            {
                this.tbcFormType.SelectedIndex          = (int)DBColumnType.Button;
                this.rdbButtonFileSelect.Checked        = true;
                this.numFileSetterDestColumnIndex.Value = ((DBColumnButtonSelectFile)col).DestColumnIndex;
            }
            else if (col is DBColumnText)
            {
                //基本系
                this.tbcFormType.SelectedIndex = (int)DBColumnType.Text;
            }
            else if (col is DBColumnBool)
            {
                this.tbcFormType.SelectedIndex = (int)DBColumnType.Bool;
            }
            else if (col is DBColumnPictureFile)
            {
                this.tbcFormType.SelectedIndex = (int)DBColumnType.PictureFile;
            }
        }
Esempio n. 7
0
 /// <summary>
 /// サブコントロールのセットアップを中継する
 /// </summary>
 public void SetupSubControls(CtrlComponent.Database.ctlDatabaseEditor dbCtl, CtrlComponent.Map.mgrMapObject mgrMap)
 {
     //データベースへの参照をサブコントロールに渡す
     this.uctlComTree.Setup(dbCtl, mgrMap);
     this.uctlOneText.Setup(dbCtl);
 }