OSDN Git Service

version 1.0.0.6
authorAndouTomo <tomando.clar02@gmail.com>
Sun, 15 Jun 2014 06:03:10 +0000 (15:03 +0900)
committerAndouTomo <tomando.clar02@gmail.com>
Sun, 15 Jun 2014 06:03:10 +0000 (15:03 +0900)
Findコマンド追加
Sumコマンド追加
入力ダイアログ呼び出し時にIMEモードを変更できるように処理を追加
コンソール表示の方式を見直し
pwdコマンドで、実施作業がないときに最後の終了時間と現時点との差分(サボっている時間)を表示するように変更
パネルダブルクリックにより、入力ダイアログに番号を反映できるように処理変更
その他細かいバグ修正

23 files changed:
KyberNetes/Kybernetes.csproj
KyberNetes/Properties/AssemblyInfo.cs
KyberNetes/bin/Release/asurada.db [new file with mode: 0644]
KyberNetes/command/CRUD/AddCommand.cs
KyberNetes/command/CRUD/ListCommand.cs
KyberNetes/command/Control/EndCommand.cs
KyberNetes/command/SYSTEM/HelpCommand.cs
KyberNetes/command/SYSTEM/LinkCommand.cs
KyberNetes/command/reference/EstimateCommand.cs
KyberNetes/command/reference/FindCommand.cs [new file with mode: 0644]
KyberNetes/command/reference/FindCommandArg.cs [new file with mode: 0644]
KyberNetes/command/reference/PwdCommand.cs
KyberNetes/command/reference/SumCommand.cs [new file with mode: 0644]
KyberNetes/command/reference/SumCommandArg.cs [new file with mode: 0644]
KyberNetes/command/template/abCommand.cs
KyberNetes/control/KybernetesLogger.cs
KyberNetes/data/accessor/TaskDataAccessor.cs
KyberNetes/data/connection/SqlDictionary.Designer.cs
KyberNetes/data/connection/SqlDictionary.resx
KyberNetes/view/BaseForm.Designer.cs
KyberNetes/view/BaseForm.cs
KyberNetes/view/PanelController.cs
kybernetes_prj.suo

index e097dea..e03cf49 100644 (file)
     <Compile Include="command\CRUD\UpdateCommandArg.cs" />\r
     <Compile Include="command\reference\EstimateCommand.cs" />\r
     <Compile Include="command\reference\EstimateCommandArg.cs" />\r
+    <Compile Include="command\reference\FindCommand.cs" />\r
+    <Compile Include="command\reference\FindCommandArg.cs" />\r
     <Compile Include="command\reference\PwdCommand.cs" />\r
+    <Compile Include="command\reference\SumCommand.cs" />\r
+    <Compile Include="command\reference\SumCommandArg.cs" />\r
     <Compile Include="command\SYSTEM\AllCategInner.cs" />\r
     <Compile Include="command\SYSTEM\ClsCommand.cs" />\r
     <Compile Include="command\SYSTEM\CreditCommand.cs" />\r
     <Compile Include="view\Credit.Designer.cs">\r
       <DependentUpon>Credit.cs</DependentUpon>\r
     </Compile>\r
-    <Compile Include="view\DebuggWindow.cs">\r
-      <SubType>Form</SubType>\r
-    </Compile>\r
-    <Compile Include="view\DebuggWindow.Designer.cs">\r
-      <DependentUpon>DebuggWindow.cs</DependentUpon>\r
-    </Compile>\r
     <Compile Include="view\DropBoxInputBox.cs">\r
       <SubType>Form</SubType>\r
     </Compile>\r
     <EmbeddedResource Include="data\connection\SqlDictionary.resx">\r
       <Generator>ResXFileCodeGenerator</Generator>\r
       <LastGenOutput>SqlDictionary.Designer.cs</LastGenOutput>\r
+      <SubType>Designer</SubType>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="Properties\Resources.resx">\r
       <Generator>ResXFileCodeGenerator</Generator>\r
     <EmbeddedResource Include="view\Credit.resx">\r
       <DependentUpon>Credit.cs</DependentUpon>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="view\DebuggWindow.resx">\r
-      <DependentUpon>DebuggWindow.cs</DependentUpon>\r
-    </EmbeddedResource>\r
     <EmbeddedResource Include="view\DropBoxInputBox.resx">\r
       <DependentUpon>DropBoxInputBox.cs</DependentUpon>\r
     </EmbeddedResource>\r
index ef11a57..be302ae 100644 (file)
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
 // 既定値にすることができます:\r
 // [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.0.0.5")]\r
-[assembly: AssemblyFileVersion("1.0.0.5")]\r
+[assembly: AssemblyVersion("1.0.0.6")]\r
+[assembly: AssemblyFileVersion("1.0.0.6")]\r
diff --git a/KyberNetes/bin/Release/asurada.db b/KyberNetes/bin/Release/asurada.db
new file mode 100644 (file)
index 0000000..8a4d0b5
Binary files /dev/null and b/KyberNetes/bin/Release/asurada.db differ
index 979a81f..9a536bf 100644 (file)
@@ -2,6 +2,7 @@
 using com.andoutomo.kybernetes.data.accessor;\r
 using com.andoutomo.kybernetes.data.DAO;\r
 using System.Collections.Generic;\r
+using System.Windows.Forms;\r
 \r
 namespace com.andoutomo.kybernetes.command\r
 {\r
@@ -16,7 +17,7 @@ namespace com.andoutomo.kybernetes.command
 \r
             if (data.Contents == null)\r
             {\r
-                data.Contents = form.showInputBox("実施事項を入力してください。");\r
+                data.Contents = form.showInputBox("実施事項を入力してください。",ImeMode.Hiragana);\r
                 if (data.Contents == null || data.Contents == string.Empty)\r
                 {\r
                     message = "書くからには何か実施しましょう。やり直してください。";\r
@@ -119,7 +120,6 @@ namespace com.andoutomo.kybernetes.command
             //DBへの追加\r
             TaskDataAccessor taskAccessor = TaskDataAccessor.getObject;\r
             data.TaskID = taskAccessor.getMaxTaskID();\r
-            //data.SortID = data.TaskID * 10;\r
             data.SortID = taskAccessor.getMaxSortID();\r
 \r
             if (taskAccessor.insertTask(data))\r
index 5da7d97..f699e36 100644 (file)
@@ -44,17 +44,17 @@ namespace com.andoutomo.kybernetes.command
 \r
         protected override string turnMessage()\r
         {\r
-           return string.Empty;\r
+            return string.Empty;\r
         }\r
 \r
         protected override string turnErrorMessage()\r
         {\r
-            throw new NotImplementedException();\r
+            return base.DefaultErrorMessage;\r
         }\r
 \r
         protected override string turnSplitErrorMessage()\r
         {\r
-            throw new NotImplementedException();\r
+            return base.DefaultSplitErrorMessage;\r
         }\r
     }\r
 }\r
index 0f6922f..438bf80 100644 (file)
@@ -22,7 +22,7 @@ namespace com.andoutomo.kybernetes.command
             {\r
                 if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
                 {\r
-                    string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。");\r
+                    string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");\r
                     if (nextDay != "0")\r
                     {\r
                         _newData.DoDate.addDate(int.Parse(nextDay));\r
index c8a2d49..5931a0e 100644 (file)
@@ -30,7 +30,7 @@ namespace com.andoutomo.kybernetes.command
                         resList.Add("  " + help.cmdStr + "    " + help.cmdSummary);\r
                     }\r
 \r
-                    base.form.addMultiText(resList,true);\r
+                    base.form.addMultiText(resList);\r
 \r
                     break;\r
                 case HelpCommandType.One:\r
@@ -51,7 +51,7 @@ namespace com.andoutomo.kybernetes.command
                         resList2.Add(string.Empty);\r
                         resList2.Add(data.cmdDetail);\r
 \r
-                        base.form.addMultiText(resList2, true);\r
+                        base.form.addMultiText(resList2);\r
                     }\r
                     else\r
                     {\r
index 2a3a64e..8c1e921 100644 (file)
@@ -25,7 +25,7 @@ namespace com.andoutomo.kybernetes.command.SYSTEM
                 {\r
                     retList.Add(data.Name + " -> " + data.Val);\r
                 }\r
-                form.addMultiText(retList,true);\r
+                form.addMultiText(retList);\r
                 retStr = string.Empty;\r
                 return true;\r
             }\r
index 5656d7b..94d788b 100644 (file)
@@ -84,7 +84,7 @@ namespace com.andoutomo.kybernetes.command.reference
             msgList.Add("予想終了時刻: " + TimeComponent.justNow().add(minuteRemains).ToString());\r
             msgList.Add(string.Empty);\r
 \r
-            form.addMultiText(msgList,true);\r
+            form.addMultiText(msgList);\r
             return true;\r
         }\r
 \r
diff --git a/KyberNetes/command/reference/FindCommand.cs b/KyberNetes/command/reference/FindCommand.cs
new file mode 100644 (file)
index 0000000..18098aa
--- /dev/null
@@ -0,0 +1,56 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.data;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+    class FindCommand:AbCommand\r
+    {\r
+        protected override bool execute()\r
+        {\r
+            FindCommandArg param = (FindCommandArg)args;\r
+\r
+            DateComponents todayDate = SettingDataAccessor.getObject.getToday();\r
+            List<TaskData> dataList = TaskDataAccessor.getObject.findTask(param.searchWord);\r
+\r
+\r
+            if (dataList.Count <= 0)\r
+            {\r
+                message = "見つかりませんでした。";\r
+            }\r
+            else\r
+            {\r
+                message = dataList.Count + "件のタスクが見つかりました。";\r
+            }\r
+\r
+            form.clearPanel();\r
+            foreach (TaskData data in dataList)\r
+            {\r
+                data.Today = todayDate;\r
+                form.addPanel(data);\r
+            }\r
+\r
+            return true;\r
+        }\r
+\r
+        private string message;\r
+        protected override string turnMessage()\r
+        {\r
+            return message;\r
+        }\r
+\r
+        protected override string turnErrorMessage()\r
+        {\r
+            return base.DefaultErrorMessage;\r
+        }\r
+\r
+        protected override string turnSplitErrorMessage()\r
+        {\r
+            return base.DefaultSplitErrorMessage;\r
+        }\r
+    }\r
+}\r
diff --git a/KyberNetes/command/reference/FindCommandArg.cs b/KyberNetes/command/reference/FindCommandArg.cs
new file mode 100644 (file)
index 0000000..1a96ade
--- /dev/null
@@ -0,0 +1,36 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+    class FindCommandArg:CommandArg\r
+    {\r
+        internal string searchWord\r
+        {\r
+            get;\r
+            private set;\r
+        }\r
+        private bool isValid;\r
+        public void split(string arguments)\r
+        {\r
+            string[] splitData = arguments.Split(' ');\r
+\r
+            if (splitData.Length < 2)\r
+            {\r
+                isValid = false;\r
+            }\r
+            else\r
+            {\r
+                searchWord = splitData[1];\r
+                isValid = true;\r
+            }\r
+        }\r
+\r
+        public bool getSplitResult()\r
+        {\r
+            return isValid;\r
+        }\r
+    }\r
+}\r
index eff5abc..fa149a7 100644 (file)
@@ -37,16 +37,23 @@ namespace com.andoutomo.kybernetes.command.reference
             {\r
                 retList.Add("現在実施中のタスクはありません。");\r
                 \r
+                TimeComponent lastEndtime = TaskDataAccessor.getObject.getNextStartTime(SettingDataAccessor.getObject.getToday());\r
+                if (lastEndtime != null && lastEndtime.IsValid)\r
+                {\r
+                    int keikaMinute = TimeComponent.justNow().getSubtractionMinute(lastEndtime);\r
+                    retList.Add("直近タスク完了から" + keikaMinute + "分経過");\r
+                }\r
+\r
             }\r
-            retList.Add(string.Empty);\r
-            form.addMultiText(retList,true);\r
+            \r
+            form.addMultiText(retList);\r
 \r
             return true;\r
         }\r
 \r
         protected override string turnMessage()\r
         {\r
-            return base.DefaultSeparatorMessage; \r
+            return string.Empty;\r
         }\r
 \r
         protected override string turnErrorMessage()\r
diff --git a/KyberNetes/command/reference/SumCommand.cs b/KyberNetes/command/reference/SumCommand.cs
new file mode 100644 (file)
index 0000000..2301ada
--- /dev/null
@@ -0,0 +1,57 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+using com.andoutomo.kybernetes.data;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+    class SumCommand:AbCommand\r
+    {\r
+        protected override bool execute()\r
+        {\r
+            SumCommandArg param = (SumCommandArg)args;\r
+\r
+            List<int> targetList = param.targetData;\r
+\r
+            TimeComponent forcast = new TimeComponent(0,0);\r
+            TimeComponent realTime = new TimeComponent(0, 0);\r
+\r
+            foreach (int sortID in targetList)\r
+            {\r
+                TaskData data = TaskDataAccessor.getObject.getTask(sortID);\r
+                forcast.add(data.ForecastMin);\r
+                realTime.add(data.RealMin);\r
+\r
+            }\r
+\r
+\r
+\r
+            List<string> resultList = new List<string>();\r
+            resultList.Add("合計:");\r
+            resultList.Add("予想時間:" + forcast.ToString() + " ( " + forcast.TotalMinute  + " 分)");\r
+            resultList.Add("実績時間:" + realTime.ToString() + " ( " + realTime.TotalMinute + " 分)");\r
+\r
+            form.addMultiText(resultList);\r
+\r
+            return true;\r
+        }\r
+\r
+        protected override string turnMessage()\r
+        {\r
+            return string.Empty;\r
+        }\r
+\r
+        protected override string turnErrorMessage()\r
+        {\r
+            return base.DefaultErrorMessage;\r
+        }\r
+\r
+        protected override string turnSplitErrorMessage()\r
+        {\r
+            return base.DefaultSplitErrorMessage;\r
+        }\r
+    }\r
+}\r
diff --git a/KyberNetes/command/reference/SumCommandArg.cs b/KyberNetes/command/reference/SumCommandArg.cs
new file mode 100644 (file)
index 0000000..4303b8c
--- /dev/null
@@ -0,0 +1,39 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.reference\r
+{\r
+    class SumCommandArg:CommandArg\r
+    {\r
+        internal List<int> targetData\r
+        {\r
+            get;\r
+            private set;\r
+        }\r
+        public void split(string arguments)\r
+        {\r
+            string[] splitData = arguments.Split(' ');\r
+\r
+            if (splitData.Length < 2)\r
+            {\r
+                isValid = false;\r
+                return;\r
+            }\r
+            isValid = true;\r
+            targetData = new List<int>();\r
+            for (int i = 1; i < splitData.Length; i++)\r
+            {\r
+                targetData.Add(Convert.ToInt32(splitData[i]));\r
+            }\r
+\r
+        }\r
+        private bool isValid;\r
+\r
+        public bool getSplitResult()\r
+        {\r
+            return isValid;\r
+        }\r
+    }\r
+}\r
index a88dc34..e18bc4b 100644 (file)
@@ -73,9 +73,9 @@ namespace com.andoutomo.kybernetes.command
         {\r
             get { return "無効なパラメータです。"; }\r
         }\r
-        protected string DefaultSeparatorMessage\r
+        protected string DefaultNormalMessage\r
         {\r
-            get { return "-----------------------------";}\r
+            get { return "";}\r
         }\r
 \r
     }\r
index 63bcf66..6ea0b1d 100644 (file)
@@ -8,9 +8,10 @@ namespace com.andoutomo.kybernetes.control
 \r
     internal enum LogMode\r
     {\r
-        Debug,\r
+        Error,\r
         Trace,\r
-        Error\r
+        Debug\r
+\r
     }\r
     internal class KybernetesLogger\r
     {\r
index 4cccbc6..db1a8e2 100644 (file)
@@ -389,6 +389,19 @@ namespace com.andoutomo.kybernetes.data.accessor
         {\r
             return getTaskList(SqlDictionary.getRemainList, new List<object>());\r
         }\r
+        /// <summary>\r
+        /// タスクの検索を行います。\r
+        /// </summary>\r
+        /// <param name="searchWord"></param>\r
+        /// <returns></returns>\r
+        internal List<TaskData> findTask(string searchWord)\r
+        {\r
+            string wkSearchWord = "%" + searchWord + "%";\r
+\r
+            List<object> args = new List<object> { wkSearchWord ,wkSearchWord};\r
+            return getTaskList(SqlDictionary.searchTasks, args);\r
+        }\r
+\r
 \r
         /// <summary>\r
         /// ソート番号の再設定を行います。\r
index 8565ff5..5b75b92 100644 (file)
@@ -106,7 +106,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   delete from mst_category に類似しているローカライズされた文字列を検索します。\r
+        ///   delete from tbl_category に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string clearCategory {\r
             get {\r
@@ -124,7 +124,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   delete from mst_timearea に類似しているローカライズされた文字列を検索します。\r
+        ///   delete from tbl_timearea に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string clearTimeArea {\r
             get {\r
@@ -169,7 +169,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY ORDER BY CategID に類似しているローカライズされた文字列を検索します。\r
+        ///   SELECT CategID,Category,BGColor,FRColor FROM tbl_category ORDER BY CategID に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getALLCategory {\r
             get {\r
@@ -191,7 +191,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
         ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
         ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-        ///FROM TBL_TASKS T,TBL_SETTING S LEFT outer join MST_CATEGORY C on C.CATEGID=T.CATEGID\r
+        ///FROM TBL_TASKS T,TBL_SETTING S LEFT outer join tbl_category C on C.CATEGID=T.CATEGID\r
         ///ORDER BY DATESORT,E [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getAllList {\r
@@ -201,7 +201,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   SELECT TIMEAREA,START,END FROM MST_TIMEAREA に類似しているローカライズされた文字列を検索します。\r
+        ///   SELECT TIMEAREA,START,END FROM tbl_timearea に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getAllTimeArea {\r
             get {\r
@@ -210,7 +210,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY WHERE CategID = ? に類似しているローカライズされた文字列を検索します。\r
+        ///   SELECT CategID,Category,BGColor,FRColor FROM tbl_category WHERE CategID = ? に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getCategoryFromCategId {\r
             get {\r
@@ -219,7 +219,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   SELECT CategID,BGColor,FRColor FROM MST_CATEGORY WHERE Category = ? に類似しているローカライズされた文字列を検索します。\r
+        ///   SELECT CategID,BGColor,FRColor FROM tbl_category WHERE Category = ? に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getCategoryFromCategName {\r
             get {\r
@@ -248,7 +248,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
         ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
         ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
+        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getDailyList {\r
             get {\r
@@ -311,7 +311,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID where T.SORTID = ? に類似しているローカライズされた文字列を検索します。\r
+        ///   SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID where T.SORTID = ? に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getOneTask {\r
             get {\r
@@ -324,7 +324,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
         ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
         ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID \r
+        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID \r
         ///WHERE DATE(T.DODATE [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getPwdList {\r
@@ -338,7 +338,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
         ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
         ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS N [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
+        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS N [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getRemainList {\r
             get {\r
@@ -360,7 +360,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
         ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
         ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE)  [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
+        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE)  [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string getTodayList {\r
             get {\r
@@ -387,7 +387,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   INSERT into MST_CATEGORY (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?) に類似しているローカライズされた文字列を検索します。\r
+        ///   INSERT into tbl_category (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?) に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string insertCategory {\r
             get {\r
@@ -414,7 +414,7 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
-        ///   INSERT INTO MST_TIMEAREA (TIMEAREA,START,END) values(?,?,?) に類似しているローカライズされた文字列を検索します。\r
+        ///   INSERT INTO tbl_timearea (TIMEAREA,START,END) values(?,?,?) に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string insertTimeArea {\r
             get {\r
@@ -441,6 +441,19 @@ namespace com.andoutomo.kybernetes.data.connection {
         }\r
         \r
         /// <summary>\r
+        ///   SELECT  T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,C.CATEGORY,T.CONTENTS,\r
+        ///T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
+        ///(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
+        ///(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
+        ///FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.CONTENTS LIK [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。\r
+        /// </summary>\r
+        internal static string searchTasks {\r
+            get {\r
+                return ResourceManager.GetString("searchTasks", resourceCulture);\r
+            }\r
+        }\r
+        \r
+        /// <summary>\r
         ///   UPDATE TBL_TASKS SET REPEATFLG=? WHERE SORTID=? に類似しているローカライズされた文字列を検索します。\r
         /// </summary>\r
         internal static string setRepeatTask {\r
index e5dc47c..4b3f96d 100644 (file)
 T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
 (CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
 (CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT outer join MST_CATEGORY C on C.CATEGID=T.CATEGID\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT outer join tbl_category C on C.CATEGID=T.CATEGID\r
 ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
     <comment>全タスクを表示します。</comment>\r
   </data>\r
   <data name="getCategoryFromCategName" xml:space="preserve">\r
-    <value>SELECT CategID,BGColor,FRColor FROM MST_CATEGORY WHERE Category = ?</value>\r
+    <value>SELECT CategID,BGColor,FRColor FROM tbl_category WHERE Category = ?</value>\r
     <comment>カテゴリ名からIDを逆引きします。</comment>\r
   </data>\r
   <data name="getCommand" xml:space="preserve">\r
@@ -146,7 +146,7 @@ WHERE L.BASE_COMMAND = M.CMDSTR
 T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
 (CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
 (CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(?) \r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(?) \r
 ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
     <comment>指定された日付のタスクを取得します。</comment>\r
   </data>\r
@@ -159,7 +159,7 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
 T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
 (CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
 (CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS NULL\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.ENDTIME IS NULL\r
 ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
     <comment>残り全タスクを表示します。</comment>\r
   </data>\r
@@ -168,7 +168,7 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
 T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
 (CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
 (CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(S.TODAY)\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE DATE(T.DODATE) = DATE(S.TODAY)\r
 ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
     <comment>今日のタスクを取得します。</comment>\r
   </data>\r
@@ -185,11 +185,11 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
     <comment>今日の日付を取ってきます</comment>\r
   </data>\r
   <data name="getALLCategory" xml:space="preserve">\r
-    <value>SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY ORDER BY CategID</value>\r
+    <value>SELECT CategID,Category,BGColor,FRColor FROM tbl_category ORDER BY CategID</value>\r
     <comment>全カテゴリを抽出します。</comment>\r
   </data>\r
   <data name="getOneTask" xml:space="preserve">\r
-    <value>SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID where T.SORTID = ?</value>\r
+    <value>SELECT T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,T.CATEGID,C.CATEGORY,T.CONTENTS,T.FORCASTMIN,T.STARTTIME,T.ENDTIME,T.REPEATFLG FROM TBL_TASKS T LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID where T.SORTID = ?</value>\r
     <comment>IDを元にタスクを抽出します。</comment>\r
   </data>\r
   <data name="updateTask" xml:space="preserve">\r
@@ -201,7 +201,7 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
     <comment>日付を変更します。</comment>\r
   </data>\r
   <data name="getCategoryFromCategId" xml:space="preserve">\r
-    <value>SELECT CategID,Category,BGColor,FRColor FROM MST_CATEGORY WHERE CategID = ?</value>\r
+    <value>SELECT CategID,Category,BGColor,FRColor FROM tbl_category WHERE CategID = ?</value>\r
     <comment>カテゴリIDからカテゴリを検索します。</comment>\r
   </data>\r
   <data name="startTask" xml:space="preserve">\r
@@ -225,11 +225,11 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
     <comment>次タスクの開始時間を求めるため、当日最後に終了したタスクの終了時間を抽出します。</comment>\r
   </data>\r
   <data name="clearCategory" xml:space="preserve">\r
-    <value>delete from mst_category</value>\r
+    <value>delete from tbl_category</value>\r
     <comment>カテゴリをクリアします。</comment>\r
   </data>\r
   <data name="insertCategory" xml:space="preserve">\r
-    <value>INSERT into MST_CATEGORY (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?)</value>\r
+    <value>INSERT into tbl_category (CATEGID,CATEGORY,FRCOLOR,BGCOLOR) values(?,?,?,?)</value>\r
     <comment>カテゴリを追加します。</comment>\r
   </data>\r
   <data name="delayTask" xml:space="preserve">\r
@@ -253,11 +253,11 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
     <comment>リンクを削除します。</comment>\r
   </data>\r
   <data name="clearTimeArea" xml:space="preserve">\r
-    <value>delete from mst_timearea</value>\r
+    <value>delete from tbl_timearea</value>\r
     <comment>時間帯をクリアします。</comment>\r
   </data>\r
   <data name="insertTimeArea" xml:space="preserve">\r
-    <value>INSERT INTO MST_TIMEAREA (TIMEAREA,START,END) values(?,?,?)</value>\r
+    <value>INSERT INTO tbl_timearea (TIMEAREA,START,END) values(?,?,?)</value>\r
     <comment>時間帯を追加します。</comment>\r
   </data>\r
   <data name="getHelp" xml:space="preserve">\r
@@ -273,7 +273,7 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
 T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG,\r
 (CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
 (CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
-FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN MST_CATEGORY C ON C.CATEGID=T.CATEGID \r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID \r
 WHERE DATE(T.DODATE) = DATE(S.TODAY) AND T.ENDTIME IS NULL AND T.STARTTIME IS NOT NULL \r
 ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
     <comment>実施中(StartしていてEndしていない)のタスクを抽出します。</comment>\r
@@ -311,7 +311,7 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
     <comment>リンク一覧を出力します。</comment>\r
   </data>\r
   <data name="getAllTimeArea" xml:space="preserve">\r
-    <value>SELECT TIMEAREA,START,END FROM MST_TIMEAREA</value>\r
+    <value>SELECT TIMEAREA,START,END FROM tbl_timearea</value>\r
     <comment>タイムエリアを取得します。</comment>\r
   </data>\r
   <data name="getLogMode" xml:space="preserve">\r
@@ -326,4 +326,13 @@ ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.
     <value>UPDATE TBL_TASKS SET SORTID = SORTID * -1 WHERE DATE(DODATE) &lt; (SELECT TODAY FROM TBL_SETTING) AND ENDTIME IS NOT NULL</value>\r
     <comment>ソート番号全体を調整します。既に終了した過去分タスクはマイナス扱いとします。(こうすることで、新規発番されるタスクは過去分のソートIDの影響を受けなくなります。マイナス扱いなら最大値にはならないですからね。)</comment>\r
   </data>\r
+  <data name="searchTasks" xml:space="preserve">\r
+    <value>SELECT  T.TASKID,T.SORTID,T.DODATE,T.TIMEAREA,C.CATEGORY,T.CONTENTS,\r
+T.FORCASTMIN,T.STARTTIME,T.ENDTIME,C.BGCOLOR,C.FRCOLOR,T.REPEATFLG, \r
+(CASE WHEN T.ENDTIME IS NULL THEN 1 ELSE 0 END) AS ENDTIMESORT,\r
+(CASE WHEN T.DODATE =S.TODAY THEN 0 ELSE (CASE WHEN DODATE&gt;S.TODAY THEN 2 ELSE 3 END) END) AS DATESORT,time(startTime) as STARTTIMESORT,(Case when STARTTIME IS NULL THEN 1 ELSE 0 END) AS STARTNullSort\r
+FROM TBL_TASKS T,TBL_SETTING S LEFT OUTER JOIN tbl_category C ON C.CATEGID=T.CATEGID WHERE T.CONTENTS LIKE ? OR C.Category LIKE ?\r
+ORDER BY DATESORT,ENDTIMESORT,T.DODATE,T.TIMEAREA,STARTNULLSORT,STARTTIMESORT,T.SORTID</value>\r
+    <comment>与えられたキーワードをコンテンツに持つタスクを検索します。</comment>\r
+  </data>\r
 </root>
\ No newline at end of file
index 44d047c..89c3e8b 100644 (file)
@@ -55,7 +55,7 @@
             this.txtInput.BackColor = System.Drawing.Color.Black;\r
             this.txtInput.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
             this.txtInput.ForeColor = System.Drawing.Color.White;\r
-            this.txtInput.Location = new System.Drawing.Point(792, 389);\r
+            this.txtInput.Location = new System.Drawing.Point(792, 387);\r
             this.txtInput.Name = "txtInput";\r
             this.txtInput.Size = new System.Drawing.Size(388, 19);\r
             this.txtInput.TabIndex = 2;\r
@@ -72,7 +72,7 @@
             this.rConsole.Name = "rConsole";\r
             this.rConsole.ReadOnly = true;\r
             this.rConsole.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.ForcedVertical;\r
-            this.rConsole.Size = new System.Drawing.Size(388, 379);\r
+            this.rConsole.Size = new System.Drawing.Size(388, 377);\r
             this.rConsole.TabIndex = 0;\r
             this.rConsole.TabStop = false;\r
             this.rConsole.Text = "";\r
@@ -92,7 +92,7 @@
             // \r
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
-            this.ClientSize = new System.Drawing.Size(1184, 412);\r
+            this.ClientSize = new System.Drawing.Size(1184, 410);\r
             this.Controls.Add(this.rConsole);\r
             this.Controls.Add(this.txtInput);\r
             this.Controls.Add(this.panel1);\r
index 5ee7b45..4709f76 100644 (file)
@@ -13,8 +13,6 @@ namespace com.andoutomo.kybernetes.view
         {\r
             InitializeComponent();\r
 \r
-            \r
-\r
             List<string> initialText = new List<string>();\r
             initialText.Add("#####################################################");\r
             initialText.Add("# " + AppInfoContainer.Title + " " + AppInfoContainer.Description);\r
@@ -22,24 +20,16 @@ namespace com.andoutomo.kybernetes.view
             initialText.Add("# " + AppInfoContainer.CopyRight);\r
             initialText.Add("# ");\r
             initialText.Add("#####################################################");\r
-            addMultiText(initialText,true);\r
+            addMultiText(initialText);\r
 \r
+            addPrompt();\r
 \r
-            this.Text = AppInfoContainer.Title + " " + AppInfoContainer.VersionNo;\r
+            this.Text = AppInfoContainer.Title + " " + AppInfoContainer.Description;\r
             Echo = true;\r
 \r
 \r
         }\r
-        private void btnTest_Click(object sender, EventArgs e)\r
-        {\r
-#if debug\r
-            DebuggWindow debugWin = new DebuggWindow();\r
-            debugWin.StartPosition = FormStartPosition.CenterParent;\r
-            debugWin.Owner = this;\r
 \r
-            DialogResult res = debugWin.ShowDialog();\r
-#endif\r
-        }\r
         internal void invokeCategSettingDialog(List<CategoryData> arg)\r
         {\r
             CategorySetting categSetting = new CategorySetting();\r
@@ -100,26 +90,12 @@ namespace com.andoutomo.kybernetes.view
         /// コンソールに文字列を表示します。\r
         /// </summary>\r
         /// <param name="args">表示したい文字列</param>\r
-        /// <param name="suppressPrompt">プロンプト(>)を非表示にする場合はTrue</param>\r
-        internal void addText(string args, bool suppressPrompt)\r
-        {\r
-            string prompt = "> ";\r
-            if (suppressPrompt)\r
-            {\r
-                prompt = string.Empty;\r
-            }\r
-            rConsole.AppendText(args + System.Environment.NewLine + prompt);\r
-            \r
-\r
-        }\r
-        /// <summary>\r
-        /// コンソールに文字列を表示します。\r
-        /// </summary>\r
-        /// <param name="args">表示したい文字列</param>\r
         internal void addText(string args)\r
         {\r
-            addText(args, false);\r
+            rConsole.AppendText(args + System.Environment.NewLine);\r
+            KybernetesLogger.Log.trace(args);\r
         }\r
+\r
         /// <summary>\r
         /// コンソールに複数文章を追加します。\r
         /// </summary>\r
@@ -128,23 +104,16 @@ namespace com.andoutomo.kybernetes.view
         {\r
             foreach (string message in messages)\r
             {\r
-                addText(message,false);\r
+                addText(message);\r
             }\r
+            rConsole.AppendText(System.Environment.NewLine);\r
         }\r
-\r
-        /// <summary>\r
-        /// コンソールに複数文章を追加します。\r
-        /// </summary>\r
-        /// <param name="messages">追加したい文章群</param>\r
-        /// <param name="suppressPrompt">プロンプト(>)を非表示にする場合はTrue</param>\r
-        internal void addMultiText(List<string> messages,bool suppressPrompt)\r
+        private void addPrompt()\r
         {\r
-            foreach (string message in messages)\r
-            {\r
-                addText(message, suppressPrompt);\r
-            }\r
-            addText(string.Empty, false);\r
+            rConsole.AppendText("> ");\r
         }\r
+\r
+\r
         /// <summary>\r
         /// コンソールをクリアします。\r
         /// </summary>\r
@@ -161,14 +130,31 @@ namespace com.andoutomo.kybernetes.view
         }\r
 \r
         private int lastRow=17;\r
+        /// <summary>\r
+        /// パネルを追加します。\r
+        /// </summary>\r
+        /// <param name="data"></param>\r
         internal void addPanel(TaskData data)\r
         {\r
-            Panel targetPanel = new PanelController().createRow(lastRow,data);\r
+            Panel targetPanel = new PanelController(this).createRow(lastRow,data);\r
+            \r
             panel1.Controls.Add(targetPanel);\r
             lastRow += targetPanel.Height-1;\r
         }\r
 \r
         /// <summary>\r
+        /// パネルがダブルクリックされた時に対応します。IDをテキストボックスに転記します。\r
+        /// </summary>\r
+        /// <param name="data"></param>\r
+        internal void AddIDToText(string data)\r
+        {\r
+            this.txtInput.Text += data + " ";\r
+            txtInput.Focus();\r
+            this.txtInput.Select(this.txtInput.Text.Length, 0);\r
+\r
+        }\r
+\r
+        /// <summary>\r
         /// パネルをクリアします。\r
         /// </summary>\r
         internal void clearPanel()\r
@@ -186,7 +172,11 @@ namespace com.andoutomo.kybernetes.view
             get;\r
             set;\r
         }\r
-\r
+        /// <summary>\r
+        /// コマンド入力を受け付けます。\r
+        /// </summary>\r
+        /// <param name="sender"></param>\r
+        /// <param name="e"></param>\r
         private void txtInput_KeyDown(object sender, KeyEventArgs e)\r
         {\r
             switch (e.KeyCode)\r
@@ -216,7 +206,9 @@ namespace com.andoutomo.kybernetes.view
                     break;\r
             }\r
         }\r
-\r
+        /// <summary>\r
+        /// コマンドを実行します\r
+        /// </summary>\r
         private void doCommand()\r
         {\r
             rConsole.Focus();\r
@@ -225,18 +217,20 @@ namespace com.andoutomo.kybernetes.view
             {\r
                 addText(txtInput.Text);\r
             }\r
-            KybernetesLogger.Log.trace(txtInput.Text);\r
+            KybernetesLogger.Log.trace("[dispatch]" + txtInput.Text);\r
             CmdDispatcher dispatcher = CmdDispatcher.getDispatcher(this);\r
+            \r
             string result = dispatcher.dispatch(txtInput.Text.Trim());\r
-            if (result != string.Empty)\r
+            if (!string.IsNullOrEmpty(result))\r
             {\r
                 addText(result);\r
             }\r
 \r
+            addPrompt();\r
+\r
             txtInput.Clear();\r
             txtInput.ImeMode = ImeMode.Off;\r
 \r
-\r
             if (exitSwitch == true)\r
             {\r
                 this.Close();\r
@@ -261,10 +255,22 @@ namespace com.andoutomo.kybernetes.view
         /// <returns></returns>\r
         internal string showInputBox(string prompt, string defaultData)\r
         {\r
-            InputBox inputBox = new InputBox(prompt,defaultData);\r
+            return showInputBox(prompt, defaultData, ImeMode.Off);\r
+        }\r
+        /// <summary>\r
+        /// 文字入力ボックスを表示します。\r
+        /// </summary>\r
+        /// <param name="prompt"></param>\r
+        /// <param name="defaultData"></param>\r
+        /// <param name="imeMode"></param>\r
+        /// <returns></returns>\r
+        internal string showInputBox(string prompt, string defaultData, ImeMode imeMode)\r
+        {\r
+            InputBox inputBox = new InputBox(prompt, defaultData);\r
             inputBox.StartPosition = FormStartPosition.CenterParent;\r
+            inputBox.ImeMode = imeMode;\r
             inputBox.Owner = this;\r
-            \r
+\r
 \r
             DialogResult res = inputBox.ShowDialog();\r
             if (res == DialogResult.OK)\r
@@ -273,6 +279,16 @@ namespace com.andoutomo.kybernetes.view
             }\r
             return null;\r
         }\r
+        /// <summary>\r
+        /// 文字入力ボックスを表示します。\r
+        /// </summary>\r
+        /// <param name="prompt"></param>\r
+        /// <param name="imeMode"></param>\r
+        /// <returns></returns>\r
+        internal string showInputBox(string prompt, ImeMode imeMode)\r
+        {\r
+            return showInputBox(prompt, string.Empty, imeMode);\r
+        }\r
 \r
         /// <summary>\r
         /// 文字入力ボックスを表示します。プロンプトなし版です。\r
@@ -283,6 +299,10 @@ namespace com.andoutomo.kybernetes.view
             return showInputBox("");\r
         }\r
 \r
+\r
+        /// <summary>\r
+        /// プロンプトで指定した値を(プロンプトがここに)格納します。\r
+        /// </summary>\r
         internal string InputDialogData\r
         {\r
             private get;\r
@@ -332,13 +352,17 @@ namespace com.andoutomo.kybernetes.view
             return null;\r
         }\r
 \r
+        /// <summary>\r
+        /// マウスでコンソールをドラッグした時に、選択対象を入力ボックスに追加します。\r
+        /// </summary>\r
+        /// <param name="sender"></param>\r
+        /// <param name="e"></param>\r
         private void rConsole_MouseUp(object sender, MouseEventArgs e)\r
         {\r
-            txtInput.Text = rConsole.SelectedText.Trim();\r
+            txtInput.Text += rConsole.SelectedText.Trim();\r
             txtInput.Focus();\r
+            this.txtInput.Select(this.txtInput.Text.Length, 0);\r
+            \r
         }\r
-\r
-\r
-\r
     }\r
 }\r
index 7d4fa00..a9e0fce 100644 (file)
@@ -1,11 +1,17 @@
 using System.Windows.Forms;\r
 using System.Drawing;\r
 using com.andoutomo.kybernetes.data.DAO;\r
+using System;\r
 \r
 namespace com.andoutomo.kybernetes.view\r
 {\r
     internal class PanelController\r
     {\r
+        private BaseForm baseForm;\r
+        internal PanelController(BaseForm form)\r
+        {\r
+            this.baseForm = form;\r
+        }\r
         internal Panel createRow(int point,TaskData data)\r
         {\r
             Panel rowPanel=new Panel();\r
@@ -74,6 +80,8 @@ namespace com.andoutomo.kybernetes.view
                 }\r
 \r
             }\r
+            sortID = data.SortID;\r
+\r
             rowPanel.Controls.Add(new CustomLabel(data.Indicator, frColor, bgColor, FontStyle.Regular, 9F, 0, 21, rowsize));\r
             rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDateString(), frColor, bgColor, style, 9F, 20, 56, rowsize));\r
             rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDowStr(), frColor, bgColor, style, 9F, 75, 26, rowsize));\r
@@ -93,11 +101,21 @@ namespace com.andoutomo.kybernetes.view
             rowPanel.Size = new Size(761, rowsize);\r
             \r
             rowPanel.TabStop = false;\r
+            foreach (Control eachControls in rowPanel.Controls)\r
+            {\r
+                eachControls.DoubleClick += new System.EventHandler(rowPanelDblClickAction);\r
+            }\r
+\r
             return rowPanel;\r
         }\r
+        private int sortID;\r
 \r
-\r
-       \r
+        private void rowPanelDblClickAction(object sender, EventArgs args)\r
+        {\r
+            baseForm.AddIDToText(sortID.ToString());\r
+        }\r
+        \r
+            \r
         \r
     }\r
 \r
index f1bf4e4..79e4cf1 100644 (file)
Binary files a/kybernetes_prj.suo and b/kybernetes_prj.suo differ