<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
<TargetFrameworkProfile>Client</TargetFrameworkProfile>\r
<FileAlignment>512</FileAlignment>\r
+ <IsWebBootstrapper>false</IsWebBootstrapper>\r
+ <PublishUrl>publish\</PublishUrl>\r
+ <Install>true</Install>\r
+ <InstallFrom>Disk</InstallFrom>\r
+ <UpdateEnabled>false</UpdateEnabled>\r
+ <UpdateMode>Foreground</UpdateMode>\r
+ <UpdateInterval>7</UpdateInterval>\r
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>\r
+ <UpdatePeriodically>false</UpdatePeriodically>\r
+ <UpdateRequired>false</UpdateRequired>\r
+ <MapFileExtensions>true</MapFileExtensions>\r
+ <ApplicationRevision>1</ApplicationRevision>\r
+ <ApplicationVersion>1.1.1.%2a</ApplicationVersion>\r
+ <UseApplicationTrust>false</UseApplicationTrust>\r
+ <PublishWizardCompleted>true</PublishWizardCompleted>\r
+ <BootstrapperEnabled>true</BootstrapperEnabled>\r
</PropertyGroup>\r
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">\r
<PlatformTarget>x86</PlatformTarget>\r
<DebugType>full</DebugType>\r
<Optimize>false</Optimize>\r
<OutputPath>bin\Debug\</OutputPath>\r
- <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+ <DefineConstants>DEBUG</DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
</PropertyGroup>\r
<DebugType>pdbonly</DebugType>\r
<Optimize>true</Optimize>\r
<OutputPath>bin\Release\</OutputPath>\r
- <DefineConstants>TRACE</DefineConstants>\r
+ <DefineConstants>\r
+ </DefineConstants>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
</PropertyGroup>\r
<PropertyGroup>\r
<ApplicationIcon>kybernetes_icon.ico</ApplicationIcon>\r
</PropertyGroup>\r
+ <PropertyGroup>\r
+ <ManifestCertificateThumbprint>45EBB91A83EEF90DB270B298077A444383E3865C</ManifestCertificateThumbprint>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <ManifestKeyFile>Kybernetes_TemporaryKey.pfx</ManifestKeyFile>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <GenerateManifests>true</GenerateManifests>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <TargetZone>LocalIntranet</TargetZone>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <ApplicationManifest>Properties\app.manifest</ApplicationManifest>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <SignManifests>true</SignManifests>\r
+ </PropertyGroup>\r
<ItemGroup>\r
<Reference Include="System" />\r
<Reference Include="System.Core" />\r
<Reference Include="System.Xml" />\r
</ItemGroup>\r
<ItemGroup>\r
+ <Compile Include="command\batch\batchCommand.cs" />\r
+ <Compile Include="command\batch\beditCommand.cs" />\r
+ <Compile Include="command\Control\AddProjectCommand.cs" />\r
+ <Compile Include="command\Control\AddProjectCommandArg.cs" />\r
+ <Compile Include="command\Control\AddTagCommand.cs" />\r
+ <Compile Include="command\Control\AddTagCommandArg.cs" />\r
<Compile Include="command\Control\ChAreaCommand.cs" />\r
<Compile Include="command\Control\ChAreaCommandArg.cs" />\r
+ <Compile Include="command\Control\CheckCommand.cs" />\r
+ <Compile Include="command\Control\CheckCommandArg.cs" />\r
<Compile Include="command\Control\ChnumCommand.cs" />\r
<Compile Include="command\Control\ChnumCommandArg.cs" />\r
<Compile Include="command\Control\ClearCommand.cs" />\r
<Compile Include="command\Control\ClearCommandArg.cs" />\r
<Compile Include="command\Control\ClearCommentCommand.cs" />\r
<Compile Include="command\Control\ClearCommentCommandArg.cs" />\r
+ <Compile Include="command\Control\ClearTagCommand.cs" />\r
+ <Compile Include="command\Control\ClearTagCommandArg.cs" />\r
<Compile Include="command\Control\CommentCommand.cs" />\r
<Compile Include="command\Control\CommentCommandArg.cs" />\r
<Compile Include="command\Control\DelayCommand.cs" />\r
<Compile Include="command\Control\EndCommandArg.cs" />\r
<Compile Include="command\Control\RepeatCommand.cs" />\r
<Compile Include="command\Control\RepeatCommandArg.cs" />\r
+ <Compile Include="command\Control\ReportCommand.cs" />\r
+ <Compile Include="command\Control\ReportCommandArg.cs" />\r
<Compile Include="command\Control\StartCommand.cs" />\r
<Compile Include="command\Control\StartCommandArg.cs" />\r
<Compile Include="command\CRUD\AddCommand.cs" />\r
<Compile Include="command\CRUD\AddCommandArg.cs" />\r
<Compile Include="command\CRUD\DeleteCommand.cs" />\r
<Compile Include="command\CRUD\DeleteCommandArg.cs" />\r
+ <Compile Include="command\CRUD\ListAllCommandArg.cs" />\r
<Compile Include="command\CRUD\ListCommand.cs" />\r
<Compile Include="command\CRUD\ListCommandArg.cs" />\r
+ <Compile Include="command\CRUD\ListGoingCommandArg.cs" />\r
+ <Compile Include="command\CRUD\ListRemainCommandArg.cs" />\r
<Compile Include="command\CRUD\LongListCommand.cs" />\r
<Compile Include="command\CRUD\RenumCommand.cs" />\r
<Compile Include="command\CRUD\UpdateCommand.cs" />\r
<EmbeddedResource Include="view\TimeAreaSetting.resx">\r
<DependentUpon>TimeAreaSetting.cs</DependentUpon>\r
</EmbeddedResource>\r
+ <None Include="Kybernetes_TemporaryKey.pfx" />\r
+ <None Include="Properties\app.manifest" />\r
<None Include="Properties\Settings.settings">\r
<Generator>SettingsSingleFileGenerator</Generator>\r
<LastGenOutput>Settings.Designer.cs</LastGenOutput>\r
<ItemGroup>\r
<Content Include="kybernetes_icon.ico" />\r
</ItemGroup>\r
+ <ItemGroup>\r
+ <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">\r
+ <Visible>False</Visible>\r
+ <ProductName>Microsoft .NET Framework 4 Client Profile %28x86 および x64%29</ProductName>\r
+ <Install>true</Install>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Client.3.5">\r
+ <Visible>False</Visible>\r
+ <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>\r
+ <Install>false</Install>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">\r
+ <Visible>False</Visible>\r
+ <ProductName>.NET Framework 3.5 SP1</ProductName>\r
+ <Install>false</Install>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">\r
+ <Visible>False</Visible>\r
+ <ProductName>Windows インストーラー 3.1</ProductName>\r
+ <Install>true</Install>\r
+ </BootstrapperPackage>\r
+ </ItemGroup>\r
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
Other similar extension points exist, see Microsoft.Common.targets.\r
// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
// 既定値にすることができます:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.1.0.4")]\r
-[assembly: AssemblyFileVersion("1.1.0.4")]\r
+[assembly: AssemblyVersion("1.1.1.0")]\r
+[assembly: AssemblyFileVersion("1.1.1.0")]\r
using com.andoutomo.kybernetes.data.DAO;\r
using System.Collections.Generic;\r
using System.Windows.Forms;\r
+using com.andoutomo.kybernetes.data;\r
\r
namespace com.andoutomo.kybernetes.command\r
{\r
}\r
if (data.TimeArea == null)\r
{\r
- string defaultTimeArea = SettingDataAccessor.getObject.getDefaultTimeArea();\r
+ TimeComponent now = TimeComponent.justNow();\r
+ string defaultTimeArea = TimeAreaDataAccessor.getObject.getDefaultTimeArea(now);\r
+ if (defaultTimeArea == null || defaultTimeArea == string.Empty)\r
+ {\r
+ defaultTimeArea = SettingDataAccessor.getObject.getDefaultTimeArea();\r
+ }\r
string wkTimeArea = form.showInputBox("タイムエリアを選択してください(A-Z)",defaultTimeArea);\r
\r
if (wkTimeArea == null || wkTimeArea == string.Empty)\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.CRUD\r
+{\r
+ class ListAllCommandArg:ListCommandArg\r
+ {\r
+ internal override bool SearchAll\r
+ {\r
+ get\r
+ {\r
+ return true;\r
+ }\r
+ }\r
+ }\r
+}\r
using com.andoutomo.kybernetes.data.accessor;\r
using com.andoutomo.kybernetes.data;\r
using com.andoutomo.kybernetes.data.DAO;\r
+using com.andoutomo.kybernetes.view;\r
\r
namespace com.andoutomo.kybernetes.command\r
{\r
{\r
dataList = dataAccess.getRemainTaskList();\r
}\r
+ else if (arguments.SearchGoing)\r
+ {\r
+ dataList = dataAccess.getGoingTaskList();\r
+ }\r
else if (searchDate != null)\r
{\r
dataList = dataAccess.getDailyTaskList(searchDate);\r
}\r
+\r
else\r
{\r
dataList = dataAccess.getToDayTaskList();\r
}\r
+ if (dataList.Count > 500)\r
+ {\r
+ if (YesNoDialog.show("件数が500件を超えています。表示に時間がかかりますがよろしいでしょうか?") == false)\r
+ {\r
+ message = "表示を中止しました。なお大量タスク表示の際はexpの使用をおすすめします。";\r
+ return true;\r
+ }\r
+ }\r
+\r
+\r
form.clearPanel();\r
foreach (TaskData data in dataList)\r
{\r
form.addPanel(data);\r
}\r
\r
+ message = string.Empty;\r
return true;\r
}\r
-\r
+ string message;\r
protected override string turnMessage()\r
{\r
- return string.Empty;\r
+ return message;\r
}\r
\r
protected override string turnErrorMessage()\r
get { return searchDateInner; }\r
}\r
\r
- internal bool SearchAll\r
+ internal virtual bool SearchAll\r
{\r
get;\r
private set;\r
}\r
- internal bool SearchRemain\r
+ internal virtual bool SearchRemain\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ internal virtual bool SearchGoing\r
{\r
get;\r
private set;\r
}\r
-\r
public void split(string arguments)\r
{\r
string[] spaceSplitData = arguments.Split(' ');\r
{\r
SearchAll = true;\r
SearchRemain = false;\r
+ SearchGoing = false;\r
}\r
else if (spaceSplitData[1].ToLower() == "remain")\r
{\r
SearchAll = false;\r
SearchRemain = true;\r
-\r
+ SearchGoing = false;\r
+ }\r
+ else if (spaceSplitData[1].ToLower() == "going")\r
+ {\r
+ SearchAll = false;\r
+ SearchRemain = false;\r
+ SearchGoing = true;\r
}\r
else\r
{\r
SearchAll = false;\r
SearchRemain = false;\r
+ SearchGoing = false;\r
searchDateInner = new DateComponent(spaceSplitData[1]);\r
}\r
\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.CRUD\r
+{\r
+ class ListGoingCommandArg:ListCommandArg\r
+ {\r
+ internal override bool SearchGoing\r
+ {\r
+ get\r
+ {\r
+ return true;\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.CRUD\r
+{\r
+ class ListRemainCommandArg:ListCommandArg\r
+ {\r
+ internal override bool SearchRemain\r
+ {\r
+ get\r
+ {\r
+ return true;\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+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
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class AddProjectCommand:AbCommand\r
+ {\r
+ string message;\r
+ protected override bool execute()\r
+ {\r
+ AddProjectCommandArg param = (AddProjectCommandArg)argument;\r
+ string wkStr;\r
+ if (param.useDialog)\r
+ {\r
+ List<SimpleDataBean> beanList =TaskDataAccessor.getObject.getProjectList();\r
+ wkStr = form.showDropBoxInputBox(beanList, "プロジェクトを入力してください。");\r
+\r
+ if (wkStr == null)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return true;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ wkStr = param.prjName;\r
+ }\r
+ message = "プロジェクトを設定しました。";\r
+ return TaskDataAccessor.getObject.updateProjectofTask(param.sortID,wkStr);\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return message;\r
+ }\r
+\r
+ protected override string turnErrorMessage()\r
+ {\r
+ if (string.IsNullOrEmpty(message))\r
+ {\r
+ return base.DefaultErrorMessage;\r
+ }\r
+ return message;\r
+ }\r
+\r
+ protected override string turnSplitErrorMessage()\r
+ {\r
+ return base.DefaultSplitErrorMessage;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.command.template;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class AddProjectCommandArg:StandardCommandArg\r
+ {\r
+ internal bool useDialog\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ internal string prjName\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ protected override void split()\r
+ {\r
+ \r
+ if (splitData.Length < 2)\r
+ {\r
+ isValid = false;\r
+ return;\r
+ }\r
+ if (splitData.Length == 2)\r
+ {\r
+ isValid = true;\r
+ useDialog = true;\r
+\r
+ }\r
+ else\r
+ {\r
+ isValid = true;\r
+ useDialog = false;\r
+ prjName = splitData[2];\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+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
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class AddTagCommand:AbCommand\r
+ {\r
+ string message;\r
+ protected override bool execute()\r
+ {\r
+ AddTagCommandArg param = (AddTagCommandArg)argument;\r
+ TaskDataAccessor accessor = TaskDataAccessor.getObject;\r
+ string wkStr;\r
+ if (param.useDialog)\r
+ {\r
+ List<SimpleDataBean> beanList = accessor.getTagList();\r
+ wkStr = form.showDropBoxInputBox(beanList, "タグを入力してください。");\r
+\r
+ if (wkStr == null)\r
+ {\r
+ message = "処理を中断しました。";\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ wkStr = param.tagName;\r
+ }\r
+ message = "タグを追加しました。";\r
+ return accessor.updateTagofTask(param.sortID, wkStr);\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ if (string.IsNullOrEmpty(message))\r
+ {\r
+ return base.DefaultNormalMessage;\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
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.command.template;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class AddTagCommandArg:StandardCommandArg\r
+ {\r
+ internal bool useDialog\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ internal string tagName\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ protected override void split()\r
+ {\r
+\r
+ if (splitData.Length < 2)\r
+ {\r
+ isValid = false;\r
+ return;\r
+ }\r
+ if (splitData.Length == 2)\r
+ {\r
+ isValid = true;\r
+ useDialog = true;\r
+\r
+ }\r
+ else\r
+ {\r
+ isValid = true;\r
+ useDialog = false;\r
+ tagName = splitData[2];\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+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;\r
+using com.andoutomo.kybernetes.data.DAO;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class CheckCommand:AbCommand\r
+ {\r
+ CheckCommandArg param;\r
+ protected override bool execute()\r
+ {\r
+ TaskDataAccessor accessor = TaskDataAccessor.getObject;\r
+\r
+ param = (CheckCommandArg)argument;\r
+ TaskData target = accessor.getTask(param.sortID);\r
+ if (param.AutoMode)\r
+ {\r
+\r
+ if (target != null)\r
+ {\r
+ TimeComponent lastEndtime = accessor.getNextStartTime(target.DoDate);\r
+ if (lastEndtime != null && lastEndtime.IsValid)\r
+ {\r
+ if (accessor.startTask(target.SortID, lastEndtime))\r
+ {\r
+ if (accessor.endTask(target.SortID, lastEndtime))\r
+ {\r
+ return repeatCheck(target);\r
+ }\r
+ else\r
+ {\r
+ return true;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ message = "終了しているタスクが無いため、自動設定できません。最初は時刻を手動設定してください。";\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ base.errorType = ErrorType.DataNotFound;\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ if (accessor.startTask(param.sortID, param.reportTime))\r
+ {\r
+ if (accessor.endTask(param.sortID, param.reportTime))\r
+ {\r
+ return repeatCheck(target);\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+ string message;\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return "タスク " + param.sortID + " をチェック完了しました。";\r
+ }\r
+\r
+ protected override string turnErrorMessage()\r
+ {\r
+ if (string.IsNullOrEmpty(message))\r
+ {\r
+ return base.DefaultErrorMessage;\r
+ }\r
+ return message;\r
+ }\r
+\r
+ protected override string turnSplitErrorMessage()\r
+ {\r
+ return base.DefaultSplitErrorMessage;\r
+ }\r
+ /// <summary>\r
+ /// \r
+ /// </summary>\r
+ /// <param name="_newData"></param>\r
+ /// <returns></returns>\r
+ private bool repeatCheck(TaskData _newData)\r
+ {\r
+ if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
+ {\r
+ string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。", "1");\r
+ if (nextDay != "0")\r
+ {\r
+ _newData.DoDate.addDate(int.Parse(nextDay));\r
+ _newData.TaskID = TaskDataAccessor.getObject.getMaxTaskID();\r
+ _newData.SortID = TaskDataAccessor.getObject.getMaxSortID();\r
+\r
+\r
+ //_newData.CategID = CategoryDataAccessor.getObject.getCategoryFromName(_newData.Category).CategId;\r
+\r
+ TaskDataAccessor.getObject.insertTask(_newData);\r
+\r
+ //リピート対象としたタスクは複製後もリピート対象とする。\r
+ TaskDataAccessor.getObject.setRepeatTask(_newData.SortID, true);\r
+\r
+ message = "タスク " + param.sortID + " を終了します。次回は" + _newData.DoDate.getDateString() + "です。";\r
+ return true;\r
+ }\r
+ else\r
+ {\r
+ //リピートしないと判断したならそこで終了。\r
+ return true;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ //リピート対象でないなら何もしない\r
+ return true;\r
+ }\r
+ }\r
+ \r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.command.template;\r
+using com.andoutomo.kybernetes.data;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class CheckCommandArg : StandardCommandArg\r
+ {\r
+ internal TimeComponent reportTime\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ internal bool AutoMode\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ protected override void split()\r
+ {\r
+\r
+ if (splitData.Length == 2)\r
+ {\r
+ //単純にコマンドと番号だけの場合、直前のEND時間を入力する\r
+ AutoMode = true;\r
+ return;\r
+ }\r
+\r
+ if (splitData[2].ToLower() == "now")\r
+ {\r
+ reportTime = TimeComponent.justNow();\r
+ AutoMode = false;\r
+ }\r
+ else if (splitData[2].Contains(":"))\r
+ {\r
+ reportTime = new TimeComponent(splitData[2]);\r
+ AutoMode = false;\r
+ }\r
+ else\r
+ {\r
+ isValid = false;\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.data.accessor;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class ClearTagCommand:AbCommand\r
+ {\r
+\r
+ protected override bool execute()\r
+ {\r
+ ClearTagCommandArg param = (ClearTagCommandArg)argument;\r
+ int targetSortID = param.sortID;\r
+\r
+ return TaskDataAccessor.getObject.clearTagOfTask(targetSortID);\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return "タグをクリアしました。";\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
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.command.template;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class ClearTagCommandArg:StandardCommandArg\r
+ {\r
+ protected override void split()\r
+ {\r
+ return;\r
+ }\r
+ }\r
+}\r
--- /dev/null
+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
+using com.andoutomo.kybernetes.view;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class ReportCommand:AbCommand\r
+ {\r
+ string message;\r
+ ReportCommandArg param;\r
+ protected override bool execute()\r
+ {\r
+ param = (ReportCommandArg)argument;\r
+\r
+ TaskData _newData = TaskDataAccessor.getObject.getTask(param.sortID);\r
+ if (_newData == null)\r
+ {\r
+ base.errorType = ErrorType.DataNotFound;\r
+ return false;\r
+ }\r
+ if (_newData.StartTime == null || _newData.StartTime.IsValid == false)\r
+ {\r
+ TaskDataAccessor.getObject.startTask(_newData.SortID, TaskDataAccessor.getObject.getNextStartTime(_newData.DoDate));\r
+ }\r
+ if(_newData.EndTime != null && _newData.EndTime.IsValid == true){\r
+ if (!YesNoDialog.show("本タスクは既に終了しています。終了時間を更新しますか?"))\r
+ {\r
+ message = "処理を中断しました。";\r
+ return true;\r
+ }\r
+ }\r
+ if (TaskDataAccessor.getObject.endTask(param.sortID, param.reportTime))\r
+ {\r
+ if (TaskDataAccessor.getObject.isRepeatTask(param.sortID))\r
+ {\r
+ string nextDay = form.showInputBox("次回は何日後ですか?0の場合は繰り返しません。","1");\r
+ if (nextDay != "0")\r
+ {\r
+ _newData.DoDate.addDate(int.Parse(nextDay));\r
+ _newData.TaskID = TaskDataAccessor.getObject.getMaxTaskID();\r
+ _newData.SortID = TaskDataAccessor.getObject.getMaxSortID();\r
+\r
+\r
+ //_newData.CategID = CategoryDataAccessor.getObject.getCategoryFromName(_newData.Category).CategId;\r
+\r
+ TaskDataAccessor.getObject.insertTask(_newData);\r
+\r
+ //リピート対象としたタスクは複製後もリピート対象とする。\r
+ TaskDataAccessor.getObject.setRepeatTask(_newData.SortID, true);\r
+\r
+ message = "タスク " + param.sortID + " を終了します。次回は" + _newData.DoDate.getDateString() + "です。";\r
+ return true;\r
+ }\r
+ }\r
+ message = "タスク " + param.sortID + " を終了します。";\r
+ return true;\r
+ }\r
+ return false;\r
+ }\r
+\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
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.command.template;\r
+using com.andoutomo.kybernetes.data;\r
+\r
+namespace com.andoutomo.kybernetes.command.Control\r
+{\r
+ class ReportCommandArg:StandardCommandArg\r
+ {\r
+ internal TimeComponent reportTime\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ internal bool AutoMode\r
+ {\r
+ get;\r
+ private set;\r
+ }\r
+ protected override void split()\r
+ {\r
+\r
+ if (splitData.Length == 2)\r
+ {\r
+ //単純にコマンドと番号だけの場合、直前のEND時間を入力する\r
+ AutoMode = true;\r
+ reportTime = TimeComponent.justNow();\r
+ return;\r
+ }\r
+\r
+ if (splitData[2].Contains(":"))\r
+ {\r
+ reportTime = new TimeComponent(splitData[2]);\r
+ AutoMode = false;\r
+ }\r
+ else\r
+ {\r
+ isValid = false;\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using com.andoutomo.kybernetes.control;\r
+using System.IO;\r
+\r
+namespace com.andoutomo.kybernetes.command.batch\r
+{\r
+ class batchCommand:AbCommand\r
+ {\r
+ protected override bool execute()\r
+ {\r
+ string strCmd="";\r
+ try\r
+ {\r
+ using (StreamReader sr = new StreamReader(\r
+ "batch.kysh", Encoding.GetEncoding("Shift_JIS")))\r
+ {\r
+\r
+ while ((strCmd = sr.ReadLine()) != null)\r
+ {\r
+ form.addText(CmdDispatcher.getDispatcher(form).dispatch(strCmd));\r
+ }\r
+ }\r
+ }\r
+ catch (Exception e)\r
+ {\r
+ throw new KybernetesApplicationException(e);\r
+ }\r
+ return true;\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return "バッチ処理が完了しました。";\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
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+namespace com.andoutomo.kybernetes.command.batch\r
+{\r
+ class beditCommand:AbCommand\r
+ {\r
+ protected override bool execute()\r
+ {\r
+ System.Diagnostics.Process.Start("notepad.exe",@"""batch.kysh""");\r
+\r
+ return true;\r
+ }\r
+\r
+ protected override string turnMessage()\r
+ {\r
+ return base.DefaultNormalMessage;\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
}\r
List<string> resultList = new List<string>();\r
\r
+ //題名(作業名とカテゴリ)\r
resultList.Add(data.SortID + " " + data.Contents + " (" + data.Category + ")");\r
+\r
+ //予測と実績\r
string wkForecastReal = string.Empty;\r
wkForecastReal += "予測 " + data.ForecastMin + "分";\r
if (data.RealMin > 0)\r
resultList.Add(wkForecastReal);\r
string wkStartEnd = string.Empty;\r
\r
+ //開始と終了\r
if (data.StartTime.IsValid)\r
{\r
wkStartEnd += data.StartTime.ToString() + "開始";\r
resultList.Add(wkStartEnd);\r
}\r
\r
+ //プロジェクトとタグ\r
+ string wkPrjAndTags = string.Empty;\r
+ if (!string.IsNullOrEmpty(data.Project))\r
+ {\r
+ wkPrjAndTags += "プロジェクト:" + data.Project;\r
+ }\r
+ if (!string.IsNullOrEmpty(data.Tags))\r
+ {\r
+ wkPrjAndTags += " タグ:" + data.Tags;\r
+ }\r
+ if (!string.IsNullOrEmpty(wkPrjAndTags))\r
+ {\r
+ resultList.Add(wkPrjAndTags);\r
+ }\r
+\r
//Comment\r
List<CommentData> comments = CommentDataAccessor.getObject.getComment(data.TaskID);\r
foreach (CommentData com in comments)\r
private int hasComment;\r
\r
private int categID;\r
+\r
+\r
+ private string project;\r
+ private string tags;\r
+\r
\r
internal int TaskID\r
{\r
{\r
get\r
{\r
- return "日付,曜,@,ID,カテゴリ,内容,予測時間(H),予測時間(m),実績,開始,終了";\r
+ return "日付,曜,@,ID,カテゴリ,内容,予測時間(H),予測時間(m),実績,開始,終了,プロジェクト,タグ";\r
}\r
}\r
internal string CSVData\r
builder.Append(this.forecastMin).Append(",");\r
builder.Append(this.RealMin).Append(",");\r
builder.Append(this.startTime.ToString()).Append(",");\r
- builder.Append(this.endTime.ToString());\r
+ builder.Append(this.endTime.ToString()).Append(",");\r
+ builder.Append(this.project).Append(",");\r
+ builder.Append(this.tags.Replace(',','|'));//タグはカンマを変換する\r
return builder.ToString(); \r
}\r
}\r
get { return hasComment; }\r
set { this.hasComment = value; }\r
}\r
+\r
+ internal string Project\r
+ {\r
+ get { return project; }\r
+ set { this.project = value; }\r
+ }\r
+ internal string Tags\r
+ {\r
+ get { return tags; }\r
+ set { this.tags = value; }\r
+ }\r
}\r
}\r
internal string getDefaultTimeArea()\r
{\r
string retStr = string.Empty;\r
- TaskDBConnection.Connection.selectData("SELECT DEFAULTTIMEAREA FROM TBL_SETTING", \r
+ TaskDBConnection.Connection.selectData("SELECT DEFAULTTIMEAREA FROM TBL_SETTING",\r
(SQLiteDataReader reader) =>\r
- {\r
- if (reader.HasRows)\r
{\r
- reader.Read();\r
- retStr = reader["DEFAULTTIMEAREA"].ToString();\r
- }\r
- });\r
+ if (reader.HasRows)\r
+ {\r
+ reader.Read();\r
+ retStr = reader["DEFAULTTIMEAREA"].ToString();\r
+ }\r
+ });\r
return retStr;\r
}\r
+\r
}\r
\r
}\r
using System.Data.SQLite;\r
using com.andoutomo.kybernetes.data.connection;\r
using com.andoutomo.kybernetes.data.DAO;\r
+using System.Linq;\r
\r
\r
namespace com.andoutomo.kybernetes.data.accessor\r
data.StartTime = new TimeComponent(reader["STARTTIME"].ToString());\r
data.EndTime = new TimeComponent(reader["ENDTIME"].ToString());\r
data.IsRepeat = Convert.ToInt32(reader["REPEATFLG"].ToString());\r
+ data.Project = reader["PROJECT"].ToString();\r
+ data.Tags = reader["TAGS"].ToString();\r
\r
}\r
});\r
data.EndTime = new TimeComponent(reader["ENDTIME"].ToString());\r
data.IsRepeat = Convert.ToInt32(reader["REPEATFLG"].ToString());\r
data.HasComment = Convert.ToInt32(reader["HASCOMMENT"].ToString());\r
+ data.Project = reader["PROJECT"].ToString();\r
+ data.Tags = reader["TAGS"].ToString();\r
if (data.Category != string.Empty)\r
{\r
data.BgColor = Convert.ToInt32(reader["BGCOLOR"].ToString());\r
{\r
return getTaskList(SqlDictionary.getRemainList, new List<object>());\r
}\r
+\r
+ /// <summary>\r
+ /// 今後のタスクをすべて表示します。\r
+ /// </summary>\r
+ /// <returns></returns>\r
+ internal List<TaskData> getGoingTaskList()\r
+ {\r
+ return getTaskList(SqlDictionary.getGoingList, new List<object>());\r
+ }\r
+\r
/// <summary>\r
/// タスクの検索を行います。\r
/// </summary>\r
{\r
string wkSearchWord = "%" + searchWord + "%";\r
\r
- List<object> args = new List<object> { wkSearchWord ,wkSearchWord};\r
+ List<object> args = new List<object> { wkSearchWord ,wkSearchWord,wkSearchWord,wkSearchWord};\r
return getTaskList(SqlDictionary.searchTasks, args);\r
}\r
\r
{\r
List<object> paramList = new List<object>(){taskID};\r
int retVal=0;\r
- TaskDBConnection.Connection.selectData("SELECT SORTID FROM TBL_TASKS WHERE TASKID = ? ", paramList,\r
+ TaskDBConnection.Connection.selectData(SqlDictionary.getSortIDFromTaskID, paramList,\r
(SQLiteDataReader reader) =>\r
{\r
if (reader.HasRows)\r
});\r
return retVal;\r
}\r
+ /// <summary>\r
+ /// 対象タスクのプロジェクトを更新します。\r
+ /// </summary>\r
+ /// <param name="targetSortID"></param>\r
+ /// <param name="projectName"></param>\r
+ /// <returns></returns>\r
+ internal bool updateProjectofTask(int targetSortID, string projectName)\r
+ {\r
+ List<object> paramList = new List<object>() { projectName, targetSortID };\r
+ return TaskDBConnection.Connection.updateData(SqlDictionary.updateProject, paramList);\r
+ }\r
+ /// <summary>\r
+ /// 現在登録されているプロジェクトを重複なしで取得します。\r
+ /// </summary>\r
+ /// <returns></returns>\r
+ internal List<SimpleDataBean> getProjectList()\r
+ {\r
+ List<SimpleDataBean> retList = new List<SimpleDataBean>();\r
+ TaskDBConnection.Connection.selectData(SqlDictionary.findProject, \r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ while (reader.Read())\r
+ {\r
+ string prjName = reader["PROJECT"].ToString();\r
+ if (!string.IsNullOrEmpty(prjName))\r
+ {\r
+ SimpleDataBean bean = new SimpleDataBean(prjName, prjName);\r
+ retList.Add(bean);\r
+ }\r
+ }\r
+ });\r
+ return retList;\r
+ }\r
+ /// <summary>\r
+ /// タスクにタグを付与します。\r
+ /// </summary>\r
+ /// <param name="targetSortID"></param>\r
+ /// <param name="tag"></param>\r
+ /// <returns></returns>\r
+ internal bool updateTagofTask(int targetSortID, string tag)\r
+ {\r
+ string tagLikeStr = '%' + tag + '%';\r
+ List<object> paramList = new List<object>() { tag, tagLikeStr, tag, targetSortID };\r
+ return TaskDBConnection.Connection.updateData(SqlDictionary.addTag, paramList);\r
+ }\r
+ /// <summary>\r
+ /// タグ一覧を取得します。取得時点でC#側でカンマ区切りを配慮して分解します。\r
+ /// </summary>\r
+ /// <returns></returns>\r
+ internal List<SimpleDataBean> getTagList()\r
+ {\r
+ List<string> wkList = new List<string>();\r
+ TaskDBConnection.Connection.selectData(SqlDictionary.findTags,\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ while (reader.Read())\r
+ {\r
+ string tagName = reader["TAGS"].ToString();\r
+ foreach (string eachTag in tagName.Split(','))\r
+ {\r
+ wkList.Add(eachTag);\r
+ }\r
+ }\r
+ });\r
+\r
+ //重複を排除\r
+ string[] wkArray = wkList.Distinct().ToArray();\r
+\r
+ List<SimpleDataBean> retList = new List<SimpleDataBean>();\r
+ foreach (string tag in wkArray)\r
+ {\r
+ retList.Add(new SimpleDataBean(tag, tag));\r
+ }\r
+ return retList;\r
+ \r
+ }\r
+\r
+ /// <summary>\r
+ /// タグを全クリアします。\r
+ /// </summary>\r
+ /// <param name="targetSortID"></param>\r
+ /// <returns></returns>\r
+ internal bool clearTagOfTask(int targetSortID)\r
+ {\r
+ List<object> paramList = new List<object>() { targetSortID };\r
+ return TaskDBConnection.Connection.updateData(SqlDictionary.clearTags, paramList);\r
+ }\r
}\r
}\r
return retList;\r
}\r
\r
+ /// <summary>\r
+ /// 与えられた現時刻から該当するタイムエリアを算出します。\r
+ /// </summary>\r
+ /// <param name="now"></param>\r
+ /// <returns></returns>\r
+ internal string getDefaultTimeArea(TimeComponent now)\r
+ {\r
+ List<object> paramList = new List<object>();\r
+ paramList.Add(now.ToString());\r
+ paramList.Add(now.ToString());\r
\r
+ string retStr = string.Empty;\r
+ TaskDBConnection.Connection.selectData(SqlDictionary.getDefaultTimeArea, paramList,\r
+ (SQLiteDataReader reader) =>\r
+ {\r
+ if (reader.HasRows)\r
+ {\r
+ reader.Read();\r
+ retStr = reader["TIMEAREA"].ToString();\r
+ }\r
+ });\r
+ return retStr;\r
+ }\r
}\r
}\r
}\r
\r
/// <summary>\r
+ /// update tbl_tasks set tags=(case when tags is null then ? else (case when tags like ? then tags else tags||','||? end ) end) where sortid=? に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string addTag {\r
+ get {\r
+ return ResourceManager.GetString("addTag", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// update tbl_tasks set timearea=? where sortid=? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string changeAreaOfTask {\r
}\r
\r
/// <summary>\r
+ /// update tbl_tasks set tags=null where sortid=? に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string clearTags {\r
+ get {\r
+ return ResourceManager.GetString("clearTags", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// DELETE FROM TBL_COMMENT WHERE TASKID=? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string clearTaskComment {\r
}\r
\r
/// <summary>\r
+ /// SELECT DISTINCT PROJECT FROM TBL_TASKS に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string findProject {\r
+ get {\r
+ return ResourceManager.GetString("findProject", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// SELECT DISTINCT TAGS FROM TBL_TASKS に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string findTags {\r
+ get {\r
+ return ResourceManager.GetString("findTags", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// SELECT CategID,Category,BGColor,FRColor FROM tbl_category ORDER BY CategID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getALLCategory {\r
}\r
\r
/// <summary>\r
- /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getAllList {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE DATE (DODATE) = DATE (? ) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT WHERE DATE (DODATE) = DATE (? ) ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getDailyList {\r
get {\r
}\r
\r
/// <summary>\r
+ /// SELECT TIMEAREA FROM TBL_TIMEAREA WHERE TIME(START)<=TIME(?) AND TIME(?)<TIME(END) に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string getDefaultTimeArea {\r
+ get {\r
+ return ResourceManager.GetString("getDefaultTimeArea", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT, PROJECT , TAGS FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) >= DATE (S.TODAY) ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string getGoingList {\r
+ get {\r
+ return ResourceManager.GetString("getGoingList", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// SELECT LOGMODE FROM TBL_SETTING に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getLogMode {\r
}\r
\r
/// <summary>\r
- /// SELECT ID,TASKID,CREATETIME,COMMENT FROM TBL_COMMENT WHERE date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) ORDER BY ID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT C.ID,C.TASKID,C.CREATETIME,C.COMMENT FROM TBL_COMMENT C WHERE date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) or exists(SELECT TASKID FROM TBL_TASKS T WHERE T.TASKID = C.TASKID AND date(T.DODATE) =(SELECT TODAY FROM TBL_SETTING) ) ORDER BY ID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getMetaComment {\r
get {\r
}\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 tbl_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, T.PROJECT , T.TAGS 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
}\r
\r
/// <summary>\r
- /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT, TBL_SETTING S WHERE\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT, TBL_SETTING S WHERE\r
/// DATE (DODATE) = DATE (S.TODAY) \r
/// AND ENDTIME IS NULL \r
- /// AND STARTTIME IS NOT NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// AND STARTTIME IS NOT NULL ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getPwdList {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE ENDTIME IS NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT, PROJECT , TAGS FROM VW_TASKS_SORT WHERE ENDTIME IS NULL ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getRemainList {\r
get {\r
}\r
\r
/// <summary>\r
+ /// SELECT SORTID FROM TBL_TASKS WHERE TASKID = ? に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string getSortIDFromTaskID {\r
+ get {\r
+ return ResourceManager.GetString("getSortIDFromTaskID", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// SELECT TODAY FROM TBL_SETTING に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getToday {\r
}\r
\r
/// <summary>\r
- /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) = DATE (S.TODAY) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT, PROJECT , TAGS FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) = DATE (S.TODAY) ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string getTodayList {\r
get {\r
}\r
\r
/// <summary>\r
- /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT where CONTENTS LIKE ? OR Category LIKE ? ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID に類似しているローカライズされた文字列を検索します。\r
+ /// SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT where CONTENTS LIKE ? OR Category LIKE ? OR PROJECT LIKE ? OR TAGS LIKE ? ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string searchTasks {\r
get {\r
}\r
\r
/// <summary>\r
+ /// UPDATE TBL_TASKS SET PROJECT = ? WHERE SORTID= ? に類似しているローカライズされた文字列を検索します。\r
+ /// </summary>\r
+ internal static string updateProject {\r
+ get {\r
+ return ResourceManager.GetString("updateProject", resourceCulture);\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
/// update tbl_tasks set DODATE=date(?),TIMEAREA=?,CATEGID=?,CONTENTS=?,FORCASTMIN=? WHERE SORTID=? に類似しているローカライズされた文字列を検索します。\r
/// </summary>\r
internal static string updateTask {\r
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
</resheader>\r
<data name="getAllList" xml:space="preserve">\r
- <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
<comment>全タスクを表示します。</comment>\r
</data>\r
<data name="getCategoryFromCategName" xml:space="preserve">\r
<comment>カテゴリ名からIDを逆引きします。</comment>\r
</data>\r
<data name="getDailyList" xml:space="preserve">\r
- <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE DATE (DODATE) = DATE (? ) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT WHERE DATE (DODATE) = DATE (? ) ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
<comment>指定された日付のタスクを取得します。</comment>\r
</data>\r
<data name="getMaxIDofTask" xml:space="preserve">\r
<comment>タスクIDの最大値+1を求めます。</comment>\r
</data>\r
<data name="getRemainList" xml:space="preserve">\r
- <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT WHERE ENDTIME IS NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT, PROJECT , TAGS FROM VW_TASKS_SORT WHERE ENDTIME IS NULL ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
<comment>残り全タスクを表示します。</comment>\r
</data>\r
<data name="getTodayList" xml:space="preserve">\r
- <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) = DATE (S.TODAY) ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT, PROJECT , TAGS FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) = DATE (S.TODAY) ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
<comment>今日のタスクを取得します。</comment>\r
</data>\r
<data name="insertTask" xml:space="preserve">\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 tbl_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, T.PROJECT , T.TAGS 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
<comment>時間帯を追加します。</comment>\r
</data>\r
<data name="getPwdList" xml:space="preserve">\r
- <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT, TBL_SETTING S WHERE\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT, TBL_SETTING S WHERE\r
DATE (DODATE) = DATE (S.TODAY) \r
AND ENDTIME IS NULL \r
- AND STARTTIME IS NOT NULL ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
+ AND STARTTIME IS NOT NULL ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
<comment>実施中(StartしていてEndしていない)のタスクを抽出します。</comment>\r
</data>\r
<data name="changeAreaOfTask" xml:space="preserve">\r
<comment>ソート番号全体を調整します。既に終了した過去分タスクはマイナス扱いとします。(こうすることで、新規発番されるタスクは過去分のソートIDの影響を受けなくなります。マイナス扱いなら最大値にはならないですからね。)</comment>\r
</data>\r
<data name="searchTasks" xml:space="preserve">\r
- <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT FROM VW_TASKS_SORT where CONTENTS LIKE ? OR Category LIKE ? ORDER BY DATESORT,ENDTIMESORT,DODATE,TIMEAREA,STARTNULLSORT,STARTTIMESORT,SORTID</value>\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT , PROJECT , TAGS FROM VW_TASKS_SORT where CONTENTS LIKE ? OR Category LIKE ? OR PROJECT LIKE ? OR TAGS LIKE ? ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
<comment>与えられたキーワードをコンテンツに持つタスクを検索します。</comment>\r
</data>\r
<data name="clearMetaComment" xml:space="preserve">\r
<comment>当該タスクに関するコメントを照会します。</comment>\r
</data>\r
<data name="getMetaComment" xml:space="preserve">\r
- <value>SELECT ID,TASKID,CREATETIME,COMMENT FROM TBL_COMMENT WHERE date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) ORDER BY ID</value>\r
+ <value>SELECT C.ID,C.TASKID,C.CREATETIME,C.COMMENT FROM TBL_COMMENT C WHERE date(CREATETIME) = (SELECT TODAY FROM TBL_SETTING) or exists(SELECT TASKID FROM TBL_TASKS T WHERE T.TASKID = C.TASKID AND date(T.DODATE) =(SELECT TODAY FROM TBL_SETTING) ) ORDER BY ID</value>\r
<comment>当日のメタコメントを参照します。</comment>\r
</data>\r
<data name="insertComment" xml:space="preserve">\r
<value>INSERT INTO TBL_COMMENT (TASKID,CREATETIME,COMMENT) VALUES(null,datetime('now','localtime'),?)</value>\r
<comment>その日全体についてコメントを追加します。</comment>\r
</data>\r
+ <data name="getGoingList" xml:space="preserve">\r
+ <value>SELECT TASKID , SORTID , DODATE , TIMEAREA , CATEGORY , CONTENTS , FORCASTMIN , STARTTIME , ENDTIME , BGCOLOR , FRCOLOR , REPEATFLG , HASCOMMENT, PROJECT , TAGS FROM VW_TASKS_SORT , TBL_SETTING S WHERE DATE (DODATE) >= DATE (S.TODAY) ORDER BY DATESORT,DODATE,STARTNULLSORT,STARTTIMESORT,ENDTIMESORT,TIMEAREA,SORTID</value>\r
+ <comment>今後(本日以降)のタスクを表示します。</comment>\r
+ </data>\r
+ <data name="getDefaultTimeArea" xml:space="preserve">\r
+ <value>SELECT TIMEAREA FROM TBL_TIMEAREA WHERE TIME(START)<=TIME(?) AND TIME(?)<TIME(END)</value>\r
+ <comment>現時刻からタイムエリアを算出します。</comment>\r
+ </data>\r
+ <data name="addTag" xml:space="preserve">\r
+ <value>update tbl_tasks set tags=(case when tags is null then ? else (case when tags like ? then tags else tags||','||? end ) end) where sortid=?</value>\r
+ <comment>タグを追加します。</comment>\r
+ </data>\r
+ <data name="clearTags" xml:space="preserve">\r
+ <value>update tbl_tasks set tags=null where sortid=?</value>\r
+ <comment>タグをクリアします。</comment>\r
+ </data>\r
+ <data name="findProject" xml:space="preserve">\r
+ <value>SELECT DISTINCT PROJECT FROM TBL_TASKS</value>\r
+ <comment>全プロジェクトを取得します。</comment>\r
+ </data>\r
+ <data name="findTags" xml:space="preserve">\r
+ <value>SELECT DISTINCT TAGS FROM TBL_TASKS</value>\r
+ <comment>全タグを取得します。</comment>\r
+ </data>\r
+ <data name="getSortIDFromTaskID" xml:space="preserve">\r
+ <value>SELECT SORTID FROM TBL_TASKS WHERE TASKID = ?</value>\r
+ <comment>タスクIDからソート番号を逆引きします。主にコメント用です。</comment>\r
+ </data>\r
+ <data name="updateProject" xml:space="preserve">\r
+ <value>UPDATE TBL_TASKS SET PROJECT = ? WHERE SORTID= ?</value>\r
+ <comment>プロジェクト名を設定します。</comment>\r
+ </data>\r
</root>
\ No newline at end of file
// \r
// pnlTask\r
// \r
- this.pnlTask.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)\r
- | System.Windows.Forms.AnchorStyles.Right)));\r
+ this.pnlTask.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) \r
+ | System.Windows.Forms.AnchorStyles.Right)));\r
this.pnlTask.AutoScroll = true;\r
this.pnlTask.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.pnlTask.Location = new System.Drawing.Point(5, 5);\r
this.pnlTask.Name = "pnlTask";\r
- this.pnlTask.Size = new System.Drawing.Size(780, 400);\r
+ this.pnlTask.Size = new System.Drawing.Size(900, 400);\r
this.pnlTask.TabIndex = 0;\r
// \r
// txtInput\r
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(911, 386);\r
this.txtInput.Name = "txtInput";\r
- this.txtInput.Size = new System.Drawing.Size(388, 19);\r
+ this.txtInput.Size = new System.Drawing.Size(350, 19);\r
this.txtInput.TabIndex = 1;\r
this.txtInput.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtInput_KeyDown);\r
// \r
// rConsole\r
// \r
- this.rConsole.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)\r
- | System.Windows.Forms.AnchorStyles.Right)));\r
+ this.rConsole.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) \r
+ | System.Windows.Forms.AnchorStyles.Right)));\r
this.rConsole.BackColor = System.Drawing.Color.Black;\r
this.rConsole.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(128)));\r
this.rConsole.ForeColor = System.Drawing.Color.White;\r
- this.rConsole.Location = new System.Drawing.Point(792, 5);\r
+ this.rConsole.Location = new System.Drawing.Point(911, 5);\r
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(350, 379);\r
this.rConsole.TabIndex = 0;\r
this.rConsole.TabStop = false;\r
this.rConsole.Text = "";\r
// \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(1264, 412);\r
this.Controls.Add(this.rConsole);\r
this.Controls.Add(this.txtInput);\r
this.Controls.Add(this.pnlTask);\r
/// </summary>\r
internal void clearPanel()\r
{\r
+ this.pnlTask.AutoScrollPosition = new Point(0, 0);\r
\r
int dummy = pnlTask.Controls.Count;\r
for (int h = dummy; h > 0; h--)\r
{\r
Control ctrl = pnlTask.Controls[h - 1];\r
+ \r
for (int i = ctrl.Controls.Count; i > 0; i--)\r
{\r
ctrl.Controls[i - 1].Dispose();\r
}\r
- \r
ctrl.Dispose();\r
}\r
\r
}\r
\r
/// <summary>\r
- /// マウスでコンソールをドラッグした時に、選択対象を入力ボックスに追加します。\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
+ Clipboard.SetDataObject(rConsole.SelectedText.Trim());\r
+ //txtInput.Text += rConsole.SelectedText.Trim();\r
txtInput.Focus();\r
//選択状態を解除する\r
this.txtInput.Select(this.txtInput.Text.Length, 0);\r
/// </summary>\r
private void panelResize()\r
{\r
- pnlTask.Size = new Size(this.Size.Width - 420, this.Size.Height - 50);\r
+ pnlTask.Size = new Size(this.Size.Width - 380, this.Size.Height - 50);\r
}\r
-\r
}\r
}\r
{\r
internal Panel createRow(int totalRowSize)\r
{\r
- int wkContentSize = totalRowSize - 569;\r
+ int wkContentSize = totalRowSize - 689;\r
int wkDelaySize = wkContentSize - 211;\r
\r
Panel rowPanel = new Panel();\r
- rowPanel.Controls.Add(new CustomLabel("□", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 0, 21, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("Date", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 20, 56, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("曜", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 75, 26, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("@", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 100, 21, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("ID", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 120, 41, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("Category", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 160, 81, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("作業内容", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 240, wkContentSize, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("見積H", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 450, 51, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("見積m", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 500, 51, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("実績", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 550, 51, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("開始", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 600, 61, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("終了", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 660, 61, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("R", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 720, 21, 16, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel("C", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 740, 21, 16, ContentAlignment.MiddleCenter));\r
+ //rowPanel.Controls.Add(new CustomLabel("□", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 0, 21, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("ID", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 0, 41, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("Date", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 40, 56, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("曜", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 95, 26, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("@", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 120, 21, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("Category", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 140, 81, 16, ContentAlignment.MiddleCenter));\r
+ \r
+ rowPanel.Controls.Add(new CustomLabel("作業内容", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, 220, wkContentSize, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("見積H", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 430, 51, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("見積m", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 480, 51, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("実績", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 530, 51, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("開始", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 580, 61, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("終了", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 640, 61, 16, ContentAlignment.MiddleCenter));\r
+ \r
+ rowPanel.Controls.Add(new CustomLabel("プロジェクト", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 700, 81, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("R", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 780, 21, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("C", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 800, 21, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("T", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 820, 21, 16, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel("ID", Color.FromArgb(0, 0, 0), Color.FromArgb(255, 255, 255), FontStyle.Regular, 9F, wkDelaySize + 840, 41, 16, ContentAlignment.MiddleCenter));\r
\r
rowPanel.Location = new Point(0, 0);\r
- rowPanel.Size = new Size(wkContentSize + 550, 16);\r
+ rowPanel.Size = new Size(wkContentSize + 670, 16);\r
\r
rowPanel.TabStop = false;\r
\r
\r
int wkPanelSize = baseForm.getPanelSize();\r
\r
- int wkContentSize = wkPanelSize - 569;\r
+ int wkContentSize = wkPanelSize - 689;\r
int wkDelaySize = wkContentSize - 211;\r
sortID = data.SortID;\r
\r
- rowPanel.Controls.Add(new CustomLabel(data.Indicator, frColor, bgColor, FontStyle.Regular, 9F, 0, 21, rowsize,ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDateString(), frColor, bgColor, style, 9F, 20, 56, rowsize,ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDowStr(), frColor, bgColor, style, 9F, 75, 26, rowsize,ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel(data.TimeArea, frColor, bgColor, style, 9F, 100, 21, rowsize,ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel(data.SortID.ToString(), frColor, bgColor, style, 9F, 120, 41, rowsize,ContentAlignment.MiddleRight));\r
- rowPanel.Controls.Add(new CustomLabel(data.Category, frColor, bgColor, style, 9F, 160, 81, rowsize));\r
- rowPanel.Controls.Add(new CustomLabel(data.Contents, frColor, bgColor, style, 9F, 240, wkContentSize, rowsize));\r
- rowPanel.Controls.Add(new CustomLabel(data.getForcastHourStr, frColor, bgColor, timeStyle, fontsize, wkDelaySize + 450, 51, rowsize,ContentAlignment.MiddleRight));\r
- rowPanel.Controls.Add(new CustomLabel(data.ForecastMin.ToString(), frColor, bgColor, timeStyle, fontsize, wkDelaySize + 500, 51, rowsize, ContentAlignment.MiddleRight));\r
- rowPanel.Controls.Add(new CustomLabel(data.RealMin.ToString(), frColor, bgColor, timeStyle, fontsize, wkDelaySize + 550, 51, rowsize, ContentAlignment.MiddleRight));\r
- rowPanel.Controls.Add(new CustomLabel(data.StartTime.ToString(), frColor, bgColor, style, 9F, wkDelaySize + 600, 61, rowsize, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel(data.EndTime.ToString(), frColor, bgColor, style, 9F, wkDelaySize + 660, 61, rowsize, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel((data.IsRepeat == 1 ? "R" : ""), frColor, bgColor, style, 9F, wkDelaySize + 720, 21, rowsize, ContentAlignment.MiddleCenter));\r
- rowPanel.Controls.Add(new CustomLabel((data.HasComment == 1 ? "*" : ""), frColor, bgColor, style, 9F, wkDelaySize + 740, 21, rowsize, ContentAlignment.MiddleCenter));\r
+ //rowPanel.Controls.Add(new CustomLabel(data.Indicator, frColor, bgColor, FontStyle.Regular, 9F, 0, 21, rowsize,ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel(data.SortID.ToString(), frColor, bgColor, style, 9F, 0, 41, rowsize, ContentAlignment.MiddleRight));\r
+ rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDateString(), frColor, bgColor, style, 9F, 40, 56, rowsize,ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel(data.DoDate.getDowStr(), frColor, bgColor, style, 9F, 95, 26, rowsize,ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel(data.TimeArea, frColor, bgColor, style, 9F, 120, 21, rowsize,ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel(data.Category, frColor, bgColor, style, 9F, 140, 81, rowsize));\r
+ rowPanel.Controls.Add(new CustomLabel(data.Contents, frColor, bgColor, style, 9F, 220, wkContentSize, rowsize));\r
+ rowPanel.Controls.Add(new CustomLabel(data.getForcastHourStr, frColor, bgColor, timeStyle, fontsize, wkDelaySize + 430, 51, rowsize,ContentAlignment.MiddleRight));\r
+ rowPanel.Controls.Add(new CustomLabel(data.ForecastMin.ToString(), frColor, bgColor, timeStyle, fontsize, wkDelaySize + 480, 51, rowsize, ContentAlignment.MiddleRight));\r
+ rowPanel.Controls.Add(new CustomLabel(data.RealMin.ToString(), frColor, bgColor, timeStyle, fontsize, wkDelaySize + 530, 51, rowsize, ContentAlignment.MiddleRight));\r
+ rowPanel.Controls.Add(new CustomLabel(data.StartTime.ToString(), frColor, bgColor, style, 9F, wkDelaySize + 580, 61, rowsize, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel(data.EndTime.ToString(), frColor, bgColor, style, 9F, wkDelaySize + 640, 61, rowsize, ContentAlignment.MiddleCenter));\r
+ \r
+ rowPanel.Controls.Add(new CustomLabel(data.Project, frColor, bgColor, style, 9F, wkDelaySize + 700, 81, rowsize));\r
+ rowPanel.Controls.Add(new CustomLabel((data.IsRepeat == 1 ? "R" : ""), frColor, bgColor, style, 9F, wkDelaySize + 780, 21, rowsize, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel((data.HasComment == 1 ? "*" : ""), frColor, bgColor, style, 9F, wkDelaySize + 800, 21, rowsize, ContentAlignment.MiddleCenter));\r
+ rowPanel.Controls.Add(new CustomLabel((string.IsNullOrEmpty(data.Tags) ? "" : "*"), frColor, bgColor, style, 9F, wkDelaySize + 820, 21, rowsize, ContentAlignment.MiddleCenter,data.Tags));\r
+ rowPanel.Controls.Add(new CustomLabel(data.SortID.ToString(), frColor, bgColor, style, 9F, wkDelaySize + 840, 41, rowsize, ContentAlignment.MiddleRight));\r
\r
rowPanel.Location = new Point(0, point);\r
rowPanel.Size = new Size(wkPanelSize - 19, rowsize);\r
this.TextAlign = align;\r
}\r
\r
+ internal CustomLabel(string text, Color FRColor, Color BGColor, FontStyle style, float size, int location, int colsize, int rowSize, ContentAlignment align, string tooltipStr)\r
+ : this(text, FRColor, BGColor, style, size, location, colsize, rowSize,align)\r
+ {\r
+ ToolTip pop = new ToolTip();\r
+ //ToolTipの設定を行う\r
+ //ToolTipが表示されるまでの時間\r
+ pop.InitialDelay = 500;\r
+ //ToolTipが表示されている時に、別のToolTipを表示するまでの時間\r
+ pop.ReshowDelay = 100;\r
+ //ToolTipを表示する時間\r
+ pop.AutoPopDelay = 4000;\r
+ //フォームがアクティブでない時でもToolTipを表示する\r
+ pop.ShowAlways = false;\r
+\r
+ //このオブジェクトにToolTipが表示されるようにする\r
+ pop.SetToolTip(this, tooltipStr);\r
+ \r
+\r
+ }\r
}\r
}\r