From 39783cd91ea7015e1d7c88a0b8668fb39934dc2e Mon Sep 17 00:00:00 2001 From: Thoscellen Date: Sat, 16 May 2020 17:45:13 +0200 Subject: [PATCH] init --- .../AzureContinuousDeployment.11.xaml | 686 ++++++++++++++++++ .../DefaultTemplate.11.1.xaml | 543 ++++++++++++++ .../LabDefaultTemplate.11.xaml | 203 ++++++ BuildProcessTemplates/UpgradeTemplate.xaml | 76 ++ Lexicasius.sln | 40 + WordGen/App.config | 6 + WordGen/Controler/Persistance/FileManager.cs | 9 + .../Persistance/SyllabaryIoManager.cs | 76 ++ WordGen/Controler/Program.cs | 23 + WordGen/Controler/Settings.cs | 28 + WordGen/Model/ClassDiagram.cd | 102 +++ WordGen/Model/Enumerations/AfterSyllable.cs | 7 + WordGen/Model/Enumerations/BeforeSyllable.cs | 8 + .../EmptyConsonnantListException.cs | 26 + .../Exceptions/EmptySyllableListException.cs | 24 + .../Exceptions/EmptyVowelListException.cs | 24 + .../Model/Exceptions/GeneratorException.cs | 92 +++ .../NoBeforeSyllableMatchException.cs | 23 + WordGen/Model/Generator.cs | 235 ++++++ WordGen/Model/GeneratorSettings.cs | 28 + WordGen/Model/Syllabary.cs | 69 ++ WordGen/Model/SyllabaryWrapper.cs | 131 ++++ WordGen/Properties/AssemblyInfo.cs | 36 + .../WordGen.Model.Syllabary.datasource | 10 + WordGen/Properties/Resources.Designer.cs | 603 +++++++++++++++ WordGen/Properties/Resources.resx | 283 ++++++++ WordGen/Properties/Settings.Designer.cs | 38 + WordGen/Properties/Settings.settings | 9 + WordGen/Resources/ASCube_16xLG.ico | Bin 0 -> 1150 bytes WordGen/Resources/ASCube_16xLG.png | Bin 0 -> 407 bytes WordGen/Resources/ASCube_32xLG.ico | Bin 0 -> 5430 bytes WordGen/Resources/ASCube_32xLG.png | Bin 0 -> 599 bytes .../Resources/BrokenlinktoFile_431_16x.png | Bin 0 -> 3068 bytes .../Resources/BrokenlinktoFile_431_32x.png | Bin 0 -> 3234 bytes WordGen/Resources/CloseResults_8579.png | Bin 0 -> 252 bytes WordGen/Resources/Close_16xLG.png | Bin 0 -> 206 bytes WordGen/Resources/Close_6519.png | Bin 0 -> 3044 bytes WordGen/Resources/Copy_6524.png | Bin 0 -> 194 bytes WordGen/Resources/Cut_6523.png | Bin 0 -> 319 bytes WordGen/Resources/EditTitleString_357.png | Bin 0 -> 350 bytes .../Folder(special-open)_5844_16x.png | Bin 0 -> 417 bytes WordGen/Resources/NewBuildDefinition_8952.png | Bin 0 -> 353 bytes WordGen/Resources/NewFile_6276.png | Bin 0 -> 270 bytes WordGen/Resources/Open_6529.png | Bin 0 -> 411 bytes WordGen/Resources/Paste_6520.png | Bin 0 -> 265 bytes .../Resources/PencilAngled_16xLG_color.png | Bin 0 -> 360 bytes WordGen/Resources/RefactoringLog12810_32.png | Bin 0 -> 6917 bytes WordGen/Resources/RefactoringLog_12810.ico | Bin 0 -> 1150 bytes WordGen/Resources/RefactoringLog_12810.png | Bin 0 -> 2853 bytes WordGen/Resources/Remove_16xLG.png | Bin 0 -> 143 bytes WordGen/Resources/Running_16xLG.png | Bin 0 -> 409 bytes WordGen/Resources/Saveall_6518.png | Bin 0 -> 2954 bytes .../StatusAnnotations_Alert_16xMD.png | Bin 0 -> 261 bytes .../StatusAnnotations_Alert_16xMD_color.png | Bin 0 -> 295 bytes .../StatusAnnotations_Alert_32xMD.png | Bin 0 -> 321 bytes .../StatusAnnotations_Alert_32xMD_color.png | Bin 0 -> 334 bytes ...tatusAnnotations_Complete_and_ok_16xLG.png | Bin 0 -> 379 bytes ...nnotations_Complete_and_ok_16xLG_color.png | Bin 0 -> 390 bytes ...ions_Help_and_inconclusive_16xLG_color.png | Bin 0 -> 388 bytes .../StatusAnnotations_Information_16xMD.png | Bin 0 -> 311 bytes .../StatusAnnotations_Warning_16xLG.ico | Bin 0 -> 1150 bytes .../StatusAnnotations_Warning_16xLG.png | Bin 0 -> 259 bytes .../StatusAnnotations_Warning_16xLG_color.ico | Bin 0 -> 1150 bytes .../StatusAnnotations_Warning_16xLG_color.png | Bin 0 -> 277 bytes WordGen/Resources/Strings_7959_16x.png | Bin 0 -> 154 bytes WordGen/Resources/Strings_7959_32x.png | Bin 0 -> 239 bytes WordGen/Resources/Textfile_818_16x.ico | Bin 0 -> 1150 bytes WordGen/Resources/Textfile_818_16x.png | Bin 0 -> 239 bytes WordGen/Resources/Textfile_818_32x.ico | Bin 0 -> 5430 bytes WordGen/Resources/Textfile_818_32x.png | Bin 0 -> 3064 bytes WordGen/Resources/Views_7953.png | Bin 0 -> 144 bytes WordGen/Resources/Views_Content_16.ico | Bin 0 -> 1150 bytes WordGen/Resources/Views_Content_16.png | Bin 0 -> 2866 bytes WordGen/Resources/Views_Detail_16.png | Bin 0 -> 3829 bytes WordGen/Resources/Views_list_16.png | Bin 0 -> 3829 bytes WordGen/Resources/WindowsForm_817_16x.png | Bin 0 -> 145 bytes WordGen/Resources/action_Cancel_16xLG.png | Bin 0 -> 637 bytes WordGen/Resources/action_add_16xLG.png | Bin 0 -> 215 bytes WordGen/Resources/arrow_run_16xLG.png | Bin 0 -> 347 bytes WordGen/Resources/folder_Open_16xLG.png | Bin 0 -> 286 bytes WordGen/Resources/gear_16xLG.png | Bin 0 -> 455 bytes WordGen/Resources/lock_16xLG.png | Bin 0 -> 268 bytes WordGen/Resources/save_16xLG.png | Bin 0 -> 2927 bytes WordGen/Resources/unlock_16xLG.png | Bin 0 -> 285 bytes .../View/LocalizationString/Messages.en.resx | 150 ++++ WordGen/View/LocalizationString/Messages.resx | 224 ++++++ .../LocalizationString/Messages1.Designer.cs | 347 +++++++++ WordGen/View/MainForm.cs | 200 +++++ WordGen/View/MainForm.designer.cs | 490 +++++++++++++ WordGen/View/MainForm.resx | 249 +++++++ WordGen/View/ManageSyllabaryForm.Designer.cs | 249 +++++++ WordGen/View/ManageSyllabaryForm.cs | 178 +++++ WordGen/View/ManageSyllabaryForm.resx | 265 +++++++ WordGen/View/ResultForm.Designer.cs | 247 +++++++ WordGen/View/ResultForm.cs | 138 ++++ WordGen/View/ResultForm.resx | 345 +++++++++ WordGen/View/SyllabaryForm.Designer.cs | 342 +++++++++ WordGen/View/SyllabaryForm.cs | 149 ++++ WordGen/View/SyllabaryForm.resx | 175 +++++ WordGen/WordGen.csproj | 314 ++++++++ WordGenXmlViewer/App.config | 6 + .../Enumerations/AfterSyllable.cs | 7 + .../Enumerations/BeforeSyllable.cs | 8 + WordGenXmlViewer/Persistance/FileManager.cs | 8 + .../Persistance/SyllabaryIoManager.cs | 58 ++ WordGenXmlViewer/Program.cs | 17 + WordGenXmlViewer/Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 93 +++ WordGenXmlViewer/Properties/Resources.resx | 130 ++++ .../Properties/Settings.Designer.cs | 26 + WordGenXmlViewer/Properties/Settings.settings | 7 + WordGenXmlViewer/Resources/Close_6519_32.bmp | Bin 0 -> 1080 bytes WordGenXmlViewer/Resources/Open_6529.png | Bin 0 -> 411 bytes WordGenXmlViewer/Resources/save_16xLG.png | Bin 0 -> 2927 bytes WordGenXmlViewer/Syllabary.cs | 62 ++ WordGenXmlViewer/SyllabaryForm.Designer.cs | 344 +++++++++ WordGenXmlViewer/SyllabaryForm.cs | 183 +++++ WordGenXmlViewer/SyllabaryForm.resx | 154 ++++ .../WordGenSyllabaireViewer.csproj | 109 +++ 119 files changed, 8748 insertions(+) create mode 100644 BuildProcessTemplates/AzureContinuousDeployment.11.xaml create mode 100644 BuildProcessTemplates/DefaultTemplate.11.1.xaml create mode 100644 BuildProcessTemplates/LabDefaultTemplate.11.xaml create mode 100644 BuildProcessTemplates/UpgradeTemplate.xaml create mode 100644 Lexicasius.sln create mode 100644 WordGen/App.config create mode 100644 WordGen/Controler/Persistance/FileManager.cs create mode 100644 WordGen/Controler/Persistance/SyllabaryIoManager.cs create mode 100644 WordGen/Controler/Program.cs create mode 100644 WordGen/Controler/Settings.cs create mode 100644 WordGen/Model/ClassDiagram.cd create mode 100644 WordGen/Model/Enumerations/AfterSyllable.cs create mode 100644 WordGen/Model/Enumerations/BeforeSyllable.cs create mode 100644 WordGen/Model/Exceptions/EmptyConsonnantListException.cs create mode 100644 WordGen/Model/Exceptions/EmptySyllableListException.cs create mode 100644 WordGen/Model/Exceptions/EmptyVowelListException.cs create mode 100644 WordGen/Model/Exceptions/GeneratorException.cs create mode 100644 WordGen/Model/Exceptions/NoBeforeSyllableMatchException.cs create mode 100644 WordGen/Model/Generator.cs create mode 100644 WordGen/Model/GeneratorSettings.cs create mode 100644 WordGen/Model/Syllabary.cs create mode 100644 WordGen/Model/SyllabaryWrapper.cs create mode 100644 WordGen/Properties/AssemblyInfo.cs create mode 100644 WordGen/Properties/DataSources/WordGen.Model.Syllabary.datasource create mode 100644 WordGen/Properties/Resources.Designer.cs create mode 100644 WordGen/Properties/Resources.resx create mode 100644 WordGen/Properties/Settings.Designer.cs create mode 100644 WordGen/Properties/Settings.settings create mode 100644 WordGen/Resources/ASCube_16xLG.ico create mode 100644 WordGen/Resources/ASCube_16xLG.png create mode 100644 WordGen/Resources/ASCube_32xLG.ico create mode 100644 WordGen/Resources/ASCube_32xLG.png create mode 100644 WordGen/Resources/BrokenlinktoFile_431_16x.png create mode 100644 WordGen/Resources/BrokenlinktoFile_431_32x.png create mode 100644 WordGen/Resources/CloseResults_8579.png create mode 100644 WordGen/Resources/Close_16xLG.png create mode 100644 WordGen/Resources/Close_6519.png create mode 100644 WordGen/Resources/Copy_6524.png create mode 100644 WordGen/Resources/Cut_6523.png create mode 100644 WordGen/Resources/EditTitleString_357.png create mode 100644 WordGen/Resources/Folder(special-open)_5844_16x.png create mode 100644 WordGen/Resources/NewBuildDefinition_8952.png create mode 100644 WordGen/Resources/NewFile_6276.png create mode 100644 WordGen/Resources/Open_6529.png create mode 100644 WordGen/Resources/Paste_6520.png create mode 100644 WordGen/Resources/PencilAngled_16xLG_color.png create mode 100644 WordGen/Resources/RefactoringLog12810_32.png create mode 100644 WordGen/Resources/RefactoringLog_12810.ico create mode 100644 WordGen/Resources/RefactoringLog_12810.png create mode 100644 WordGen/Resources/Remove_16xLG.png create mode 100644 WordGen/Resources/Running_16xLG.png create mode 100644 WordGen/Resources/Saveall_6518.png create mode 100644 WordGen/Resources/StatusAnnotations_Alert_16xMD.png create mode 100644 WordGen/Resources/StatusAnnotations_Alert_16xMD_color.png create mode 100644 WordGen/Resources/StatusAnnotations_Alert_32xMD.png create mode 100644 WordGen/Resources/StatusAnnotations_Alert_32xMD_color.png create mode 100644 WordGen/Resources/StatusAnnotations_Complete_and_ok_16xLG.png create mode 100644 WordGen/Resources/StatusAnnotations_Complete_and_ok_16xLG_color.png create mode 100644 WordGen/Resources/StatusAnnotations_Help_and_inconclusive_16xLG_color.png create mode 100644 WordGen/Resources/StatusAnnotations_Information_16xMD.png create mode 100644 WordGen/Resources/StatusAnnotations_Warning_16xLG.ico create mode 100644 WordGen/Resources/StatusAnnotations_Warning_16xLG.png create mode 100644 WordGen/Resources/StatusAnnotations_Warning_16xLG_color.ico create mode 100644 WordGen/Resources/StatusAnnotations_Warning_16xLG_color.png create mode 100644 WordGen/Resources/Strings_7959_16x.png create mode 100644 WordGen/Resources/Strings_7959_32x.png create mode 100644 WordGen/Resources/Textfile_818_16x.ico create mode 100644 WordGen/Resources/Textfile_818_16x.png create mode 100644 WordGen/Resources/Textfile_818_32x.ico create mode 100644 WordGen/Resources/Textfile_818_32x.png create mode 100644 WordGen/Resources/Views_7953.png create mode 100644 WordGen/Resources/Views_Content_16.ico create mode 100644 WordGen/Resources/Views_Content_16.png create mode 100644 WordGen/Resources/Views_Detail_16.png create mode 100644 WordGen/Resources/Views_list_16.png create mode 100644 WordGen/Resources/WindowsForm_817_16x.png create mode 100644 WordGen/Resources/action_Cancel_16xLG.png create mode 100644 WordGen/Resources/action_add_16xLG.png create mode 100644 WordGen/Resources/arrow_run_16xLG.png create mode 100644 WordGen/Resources/folder_Open_16xLG.png create mode 100644 WordGen/Resources/gear_16xLG.png create mode 100644 WordGen/Resources/lock_16xLG.png create mode 100644 WordGen/Resources/save_16xLG.png create mode 100644 WordGen/Resources/unlock_16xLG.png create mode 100644 WordGen/View/LocalizationString/Messages.en.resx create mode 100644 WordGen/View/LocalizationString/Messages.resx create mode 100644 WordGen/View/LocalizationString/Messages1.Designer.cs create mode 100644 WordGen/View/MainForm.cs create mode 100644 WordGen/View/MainForm.designer.cs create mode 100644 WordGen/View/MainForm.resx create mode 100644 WordGen/View/ManageSyllabaryForm.Designer.cs create mode 100644 WordGen/View/ManageSyllabaryForm.cs create mode 100644 WordGen/View/ManageSyllabaryForm.resx create mode 100644 WordGen/View/ResultForm.Designer.cs create mode 100644 WordGen/View/ResultForm.cs create mode 100644 WordGen/View/ResultForm.resx create mode 100644 WordGen/View/SyllabaryForm.Designer.cs create mode 100644 WordGen/View/SyllabaryForm.cs create mode 100644 WordGen/View/SyllabaryForm.resx create mode 100644 WordGen/WordGen.csproj create mode 100644 WordGenXmlViewer/App.config create mode 100644 WordGenXmlViewer/Enumerations/AfterSyllable.cs create mode 100644 WordGenXmlViewer/Enumerations/BeforeSyllable.cs create mode 100644 WordGenXmlViewer/Persistance/FileManager.cs create mode 100644 WordGenXmlViewer/Persistance/SyllabaryIoManager.cs create mode 100644 WordGenXmlViewer/Program.cs create mode 100644 WordGenXmlViewer/Properties/AssemblyInfo.cs create mode 100644 WordGenXmlViewer/Properties/Resources.Designer.cs create mode 100644 WordGenXmlViewer/Properties/Resources.resx create mode 100644 WordGenXmlViewer/Properties/Settings.Designer.cs create mode 100644 WordGenXmlViewer/Properties/Settings.settings create mode 100644 WordGenXmlViewer/Resources/Close_6519_32.bmp create mode 100644 WordGenXmlViewer/Resources/Open_6529.png create mode 100644 WordGenXmlViewer/Resources/save_16xLG.png create mode 100644 WordGenXmlViewer/Syllabary.cs create mode 100644 WordGenXmlViewer/SyllabaryForm.Designer.cs create mode 100644 WordGenXmlViewer/SyllabaryForm.cs create mode 100644 WordGenXmlViewer/SyllabaryForm.resx create mode 100644 WordGenXmlViewer/WordGenSyllabaireViewer.csproj diff --git a/BuildProcessTemplates/AzureContinuousDeployment.11.xaml b/BuildProcessTemplates/AzureContinuousDeployment.11.xaml new file mode 100644 index 0000000..1a08b91 --- /dev/null +++ b/BuildProcessTemplates/AzureContinuousDeployment.11.xaml @@ -0,0 +1,686 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [New Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfigurationList()] + [False] + [New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec("**\*test*.dll") With { .FailBuildOnFailure = True } )] + ["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"] + [True] + [True] + [Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All] + + + + [Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured] + [True] + [Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto] + [True] + [New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)] + [True] + + + + [New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }] + [Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal] + [True] + [True] + + + + + + + + + + + + + + + + + + + All + Assembly references and imported namespaces serialized as XML namespaces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BuildProcessTemplates/DefaultTemplate.11.1.xaml b/BuildProcessTemplates/DefaultTemplate.11.1.xaml new file mode 100644 index 0000000..063c42f --- /dev/null +++ b/BuildProcessTemplates/DefaultTemplate.11.1.xaml @@ -0,0 +1,543 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + [New Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings()] + [False] + [New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec("**\*test*.dll"))] + ["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"] + [False] + [True] + [True] + [Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All] + + + + [Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured] + [True] + [Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto] + [True] + [New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)] + [True] + + + + [New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }] + [Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal] + + + + + + + All + 11.0 + Assembly references and imported namespaces serialized as XML namespaces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BuildProcessTemplates/LabDefaultTemplate.11.xaml b/BuildProcessTemplates/LabDefaultTemplate.11.xaml new file mode 100644 index 0000000..d5bca70 --- /dev/null +++ b/BuildProcessTemplates/LabDefaultTemplate.11.xaml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + 11.0 + + + + + + 920,3702 + Assembly references and imported namespaces serialized as XML namespaces + + + + + + + + + + + + + + + + + + + + + + + [LabWorkflowParameters.BuildDetails.BuildUri] + + + [ChildBuildDetail.Uri] + + + + + + + + + + + + [BuildLocation] + + + [If(LabWorkflowParameters.BuildDetails.Configuration Is Nothing, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsEmpty Or (SelectedBuildDetail.Information.GetNodesByType(Microsoft.TeamFoundation.Build.Common.InformationTypes.ConfigurationSummary, True)).Count = 1, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsPlatformEmptyOrAnyCpu, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Platform + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration)))] + + + + + + + + + + + + [LabEnvironmentUri] + + + [LabWorkflowParameters.EnvironmentDetails.LabEnvironmentUri.ToString()] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [PostDeploymentSnapshotName] + + + [If(LabWorkflowParameters.BuildDetails.IsTeamSystemBuild = True,String.Format("{0}_{1}_{2}", LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName, BuildNumber,BuildDetail.BuildNumber),String.Format("{0}_{1}", LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName, BuildDetail.BuildNumber))] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [BuildStatus] + + + [Microsoft.TeamFoundation.Build.Client.BuildStatus.PartiallySucceeded] + + + + + + + [BuildStatus] + + + [Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed] + + + + + + + + + + + + \ No newline at end of file diff --git a/BuildProcessTemplates/UpgradeTemplate.xaml b/BuildProcessTemplates/UpgradeTemplate.xaml new file mode 100644 index 0000000..ea229be --- /dev/null +++ b/BuildProcessTemplates/UpgradeTemplate.xaml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + [New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }] + + + + [Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto] + [False] + [False] + + + + + + + + + + [Microsoft.TeamFoundation.VersionControl.Client.RecursionType.OneLevel] + [Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal] + + + + All + Assembly references and imported namespaces serialized as XML namespaces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Lexicasius.sln b/Lexicasius.sln new file mode 100644 index 0000000..3664ea2 --- /dev/null +++ b/Lexicasius.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WordGen", "WordGen\WordGen.csproj", "{C3EAC4E8-793D-4E5C-A76E-2A8A8BB72562}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WordGenSyllabaireViewer", "WordGenXmlViewer\WordGenSyllabaireViewer.csproj", "{3868AF69-F1AC-43A5-B4C8-47AF2737B295}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C3EAC4E8-793D-4E5C-A76E-2A8A8BB72562}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C3EAC4E8-793D-4E5C-A76E-2A8A8BB72562}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C3EAC4E8-793D-4E5C-A76E-2A8A8BB72562}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C3EAC4E8-793D-4E5C-A76E-2A8A8BB72562}.Release|Any CPU.Build.0 = Release|Any CPU + {3868AF69-F1AC-43A5-B4C8-47AF2737B295}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3868AF69-F1AC-43A5-B4C8-47AF2737B295}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3868AF69-F1AC-43A5-B4C8-47AF2737B295}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3868AF69-F1AC-43A5-B4C8-47AF2737B295}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(TeamFoundationVersionControl) = preSolution + SccNumberOfProjects = 3 + SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} + SccTeamFoundationServer = https://thoscellen.visualstudio.com/ + SccLocalPath0 = . + SccProjectUniqueName1 = WordGen\\WordGen.csproj + SccProjectName1 = WordGen + SccLocalPath1 = WordGen + SccProjectUniqueName2 = WordGenXmlViewer\\WordGenSyllabaireViewer.csproj + SccProjectName2 = WordGenXmlViewer + SccLocalPath2 = WordGenXmlViewer + EndGlobalSection +EndGlobal diff --git a/WordGen/App.config b/WordGen/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/WordGen/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WordGen/Controler/Persistance/FileManager.cs b/WordGen/Controler/Persistance/FileManager.cs new file mode 100644 index 0000000..a18d933 --- /dev/null +++ b/WordGen/Controler/Persistance/FileManager.cs @@ -0,0 +1,9 @@ +namespace WordGen.Model { + + /// + /// Gère les interactions I/O entre les objets en mémoire et les fichiers sauvegardés + /// + public class FileIoManager { + + } +} \ No newline at end of file diff --git a/WordGen/Controler/Persistance/SyllabaryIoManager.cs b/WordGen/Controler/Persistance/SyllabaryIoManager.cs new file mode 100644 index 0000000..748848d --- /dev/null +++ b/WordGen/Controler/Persistance/SyllabaryIoManager.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Xml.Serialization; + +namespace WordGen.Model { + + /// + /// Représente un gestionnaire de sauvegarde et de lecture d'un ou plusieurs Syllabaires pour l'application en exposant des méthodes permettant de gérer des fichiers XML représentant des Syllabaires. + /// + public class SyllabaryIoManager : FileIoManager { + + /// + /// Représente le dossier local applicatif et utilisateur. + /// + public static readonly String UserAppData = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Assembly.GetEntryAssembly().GetName().Name); + + + /// + /// Sauvegarde le Syllabaire dans un fichier a l'emplacement indiqué. Utilise le titre comme nom de fichier. + /// + /// Le sillabraire à sauvegarder dans un fichier XML + /// Le chemin d'accès au fichier dans lequel le Syllabaire sera enregistré. + public void saveSyllabary(Syllabary thisSyllabary, string thisPath) { + thisPath = Path.Combine(thisPath, thisSyllabary.title); + thisPath = Path.ChangeExtension(thisPath, ".xml"); + XmlSerializer xs = new XmlSerializer(typeof(Syllabary)); + using (StreamWriter wr = new StreamWriter(thisPath)) { + xs.Serialize(wr, thisSyllabary); + } + } + + /// + /// Charge le Syllabaire depuis le fichier précisé + /// + /// L'emplacement du fichier XML représentant un Syllabaire + public Syllabary loadSyllabary(string thisSillabaryFile) { + XmlSerializer xs = new XmlSerializer(typeof(Syllabary)); + using (StreamReader sr = new StreamReader(thisSillabaryFile)) { + Syllabary mySylla = xs.Deserialize(sr) as Syllabary; + return mySylla; + } + } + + /// + /// Charge l'ensemble des fichier Syllabaire depuis le dossier précisé + /// + /// L'emplacement du dossier dans lequel les Syllabaires seront chargés. + public List loadAllSyllabaries(string thisFolder) { + List openedSylla = new List(); + foreach (string aFile in Directory.GetFiles(thisFolder)) { + if (Path.GetExtension(aFile).ToLower().Equals(".xml")) { + try { + openedSylla.Add(this.loadSyllabary(aFile)); + } catch (InvalidOperationException ) { + //Some XML files are not Syllables. + } + } + } + return openedSylla; + + } + + /// + /// Sauvegarde l'ensemble des objets Syllabaires spécifiés à l'emplacement spécifié. + /// + /// La liste des Syllabaires à sauvegarder dans des fichiers XML. + /// L'emplacement du dossier dans lequel les Syllabaires seront créés. + public void saveAllSyllabaries(List thosesSillabaries, string thisFolder) { + foreach (Syllabary aSylla in thosesSillabaries) { + saveSyllabary(aSylla, thisFolder); + } + } + } +} \ No newline at end of file diff --git a/WordGen/Controler/Program.cs b/WordGen/Controler/Program.cs new file mode 100644 index 0000000..893c27e --- /dev/null +++ b/WordGen/Controler/Program.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; +using WordGen.Model; + +namespace WordGen { + static class Program { + + /// + /// Point d'entrée principal de l'application. + /// w + [STAThread] + static void Main() { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + SyllabaryWrapper.LoadFromDrive(); + Application.Run(new View.MainForm()); + } + } +} diff --git a/WordGen/Controler/Settings.cs b/WordGen/Controler/Settings.cs new file mode 100644 index 0000000..9ce39af --- /dev/null +++ b/WordGen/Controler/Settings.cs @@ -0,0 +1,28 @@ +namespace WordGen.Properties { + + + // Cette classe vous permet de gérer des événements spécifiques dans la classe de paramètres : + // L'événement SettingChanging est déclenché avant la modification d'une valeur de paramètre. + // L'événement PropertyChanged est déclenché après la modification d'une valeur de paramètre. + // L'événement SettingsLoaded est déclenché après le chargement des valeurs de paramètre. + // L'événement SettingsSaving est déclenché avant l'enregistrement des valeurs de paramètre. + public sealed partial class Settings { + + public Settings() { + // // Pour ajouter des gestionnaires d'événements afin d'enregistrer et de modifier les paramètres, supprimez les marques de commentaire des lignes ci-dessous : + // + // this.SettingChanging += this.SettingChangingEventHandler; + // + // this.SettingsSaving += this.SettingsSavingEventHandler; + // + } + + private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) { + // Ajouter du code pour gérer l'événement SettingChangingEvent ici. + } + + private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) { + // Ajouter du code pour gérer l'événement SettingsSaving ici. + } + } +} diff --git a/WordGen/Model/ClassDiagram.cd b/WordGen/Model/ClassDiagram.cd new file mode 100644 index 0000000..ecd6825 --- /dev/null +++ b/WordGen/Model/ClassDiagram.cd @@ -0,0 +1,102 @@ + + + + + + + + + + + + AAAEAEAAQEAAAAAAAAAABAAAEAAAAAAAAAAAAAACABA= + Model\Syllabary.cs + + + + + + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAA= + Controler\Program.cs + + + + + + CAIAAAAAAAAAAABABCAAACAAAAEQAAAAAgAAAAAEACA= + Model\SyllabaryWrapper.cs + + + + + + + + + AAAAAAAAAAAAAAQAAAAAAAAAAAAAAABAAQAABAAAQAA= + Controler\Persistance\SyllabaryIoManager.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Controler\Persistance\FileManager.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Model\Exceptions\NoBeforeSyllableMatchException.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Model\Exceptions\EmptyVowelListException.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Model\Exceptions\EmptySyllableListException.cs + + + + + + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + Model\Exceptions\EmptyConsonnantListException.cs + + + + + + ABAAAQAAAAAAAAAAAAAAAAAAEAAiAAIAAgAAAAACBAA= + Model\Exceptions\GeneratorException.cs + + + + + + AAAAAAAAAAEAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAA= + Model\Enumerations\AfterSyllable.cs + + + + + + AAAAAAAAAAEAAAAAAAACCAAAAAAAAAAAAAAAAAAAAAA= + Model\Enumerations\BeforeSyllable.cs + + + + \ No newline at end of file diff --git a/WordGen/Model/Enumerations/AfterSyllable.cs b/WordGen/Model/Enumerations/AfterSyllable.cs new file mode 100644 index 0000000..53dd74c --- /dev/null +++ b/WordGen/Model/Enumerations/AfterSyllable.cs @@ -0,0 +1,7 @@ +using System; + +[Flags] +public enum AfterSyllable : int { + AsIs, + AutoInsert +} \ No newline at end of file diff --git a/WordGen/Model/Enumerations/BeforeSyllable.cs b/WordGen/Model/Enumerations/BeforeSyllable.cs new file mode 100644 index 0000000..f898e3f --- /dev/null +++ b/WordGen/Model/Enumerations/BeforeSyllable.cs @@ -0,0 +1,8 @@ +using System; + +[Flags] +public enum BeforeSyllable : int { + AsIs, + AutoSelect, + AutoInsert +} \ No newline at end of file diff --git a/WordGen/Model/Exceptions/EmptyConsonnantListException.cs b/WordGen/Model/Exceptions/EmptyConsonnantListException.cs new file mode 100644 index 0000000..578fc31 --- /dev/null +++ b/WordGen/Model/Exceptions/EmptyConsonnantListException.cs @@ -0,0 +1,26 @@ +using System; +using System.Runtime.Serialization; +using WordGen.Model.Exceptions; +using WordGen.View.LocalizationString; + +namespace WordGen.Model.Exceptions { + /// + /// Aucune consonne n'as été trouvée. Ajoutez des consonnes à votre syllabaire, retirez les consonnes de la syntaxe de votre mot (caractère 'c') ou paramétrez votre syllabaire pour ne pas insérer automatiquement une consonne entre une voyelle et une syllabe. + /// + [Serializable] + internal class EmptyConsonnantListException : GeneratorException { + + public EmptyConsonnantListException() : base(Messages.GeneratorError_EmptyConsonnantListException) { + } + + public EmptyConsonnantListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, Messages.GeneratorError_EmptyConsonnantListException) { + } + + public EmptyConsonnantListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message) { + } + + public EmptyConsonnantListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message, Exception innerException) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message, innerException) { + } + + } +} \ No newline at end of file diff --git a/WordGen/Model/Exceptions/EmptySyllableListException.cs b/WordGen/Model/Exceptions/EmptySyllableListException.cs new file mode 100644 index 0000000..74c219f --- /dev/null +++ b/WordGen/Model/Exceptions/EmptySyllableListException.cs @@ -0,0 +1,24 @@ +using System; +using System.Runtime.Serialization; +using WordGen.Model.Exceptions; +using WordGen.View.LocalizationString; + +namespace WordGen.Model.Exceptions { + /// + /// Aucune syllabe n'as été trouvée. Ajoutez des syllabe à votre syllabaire ou retirez les syllabes de la syntaxe de votre mot (caractère 's'). + /// + [Serializable] + internal class EmptySyllableListException : GeneratorException { + public EmptySyllableListException() : base(Messages.GeneratorError_EmptySyllableListException) { + } + + public EmptySyllableListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, Messages.GeneratorError_EmptySyllableListException) { + } + + public EmptySyllableListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message) { + } + + protected EmptySyllableListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message, Exception innerException) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message, innerException) { + } + } +} \ No newline at end of file diff --git a/WordGen/Model/Exceptions/EmptyVowelListException.cs b/WordGen/Model/Exceptions/EmptyVowelListException.cs new file mode 100644 index 0000000..8943526 --- /dev/null +++ b/WordGen/Model/Exceptions/EmptyVowelListException.cs @@ -0,0 +1,24 @@ +using System; +using System.Runtime.Serialization; +using WordGen.Model.Exceptions; +using WordGen.View.LocalizationString; + +namespace WordGen.Model.Exceptions { + /// + /// Aucune voyelle n'as été trouvée. Ajoutez des voyelles à votre syllabaire, retirez les voyelles de la syntaxe de votre mot (caractère 'v') ou paramétrez votre syllabaire pour ne pas insérer automatiquement une voyelle entre une consonne et une syllabe. + /// + [Serializable] + internal class EmptyVowelListException : GeneratorException { + public EmptyVowelListException() : base(Messages.GeneratorError_EmptyVowelListException) { + } + + public EmptyVowelListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, Messages.GeneratorError_EmptyVowelListException) { + } + + public EmptyVowelListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message) { + } + + protected EmptyVowelListException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message, Exception innerException) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message, innerException) { + } + } +} \ No newline at end of file diff --git a/WordGen/Model/Exceptions/GeneratorException.cs b/WordGen/Model/Exceptions/GeneratorException.cs new file mode 100644 index 0000000..921452e --- /dev/null +++ b/WordGen/Model/Exceptions/GeneratorException.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; +using WordGen.View.LocalizationString; + +namespace WordGen.Model.Exceptions { + /// + /// Une exception n'as pas permis de générer entièrement le mot. + /// + class GeneratorException : Exception { + + /// + /// Le mot généré auparavant. + /// + protected string _wordSoFar; + /// + /// Obtient le mot généré auparavant. + /// + public string wordSoFar + { + get { return _wordSoFar; } + } + + /// + /// Le caractère (consonne, voyelle, syllabe) qui allait être ajouté. + /// + protected string _currentSyllable; + /// + /// Obtient le caractère (consonne, voyelle, syllabe) qui allait être ajouté. + /// + public string currentSyllable + { + get { return _currentSyllable; } + } + + /// + /// La syntaxe utilisée pour générer le mot. + /// + protected string _currentSyntaxe; + /// + /// Obtient la syntaxe utilisée pour générer le mot. + /// + public string currentSyntaxe + { + get { return _currentSyntaxe; } + } + + /// + /// Le syllabaire utilisé pour générer le mot. + /// + protected Syllabary _currentSyllabary; + /// + /// Obtient le syllabaire utilisé pour générer le mot. + /// + public Syllabary currentSyllabary + { + get { return _currentSyllabary; } + } + + public GeneratorException() : base(Messages.GeneratorError_GenericGeneratorException) { + } + + public GeneratorException(string message) : base(message) { + } + + public GeneratorException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary) : base(Messages.GeneratorError_GenericGeneratorException) { + init(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary); + } + + public GeneratorException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message) : base(message) { + init(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary); + } + + public GeneratorException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message, Exception innerException) : base(message, innerException) { + init(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary); + } + + /// + /// Associe les éléments passé en paramètre avec les champs de manière factorisée. + /// + protected void init(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary) { + this._wordSoFar = wordSoFar; + this._currentSyllable = currentSyllable; + this._currentSyntaxe = currentSyntaxe; + this._currentSyllabary = currentSyllabary; + } + + } +} diff --git a/WordGen/Model/Exceptions/NoBeforeSyllableMatchException.cs b/WordGen/Model/Exceptions/NoBeforeSyllableMatchException.cs new file mode 100644 index 0000000..ee93c9d --- /dev/null +++ b/WordGen/Model/Exceptions/NoBeforeSyllableMatchException.cs @@ -0,0 +1,23 @@ +using System; +using System.Runtime.Serialization; + +namespace WordGen.Model.Exceptions { + /// + /// Aucune syllabe adaptée n'as été trouvée. Completez le syllabaire avec d'avantages de syllabes ou changez le comportement de celui-ci lors de l'ajout d'une syllabe. + /// + [Serializable] + internal class NoBeforeSyllableMatchException : GeneratorException { + + public NoBeforeSyllableMatchException() : base() { + } + + public NoBeforeSyllableMatchException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary) { + } + + public NoBeforeSyllableMatchException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message) { + } + + public NoBeforeSyllableMatchException(string wordSoFar, string currentSyllable, string currentSyntaxe, Syllabary currentSyllabary, string message, Exception innerException) : base(wordSoFar, currentSyllable, currentSyntaxe, currentSyllabary, message, innerException) { + } + } +} \ No newline at end of file diff --git a/WordGen/Model/Generator.cs b/WordGen/Model/Generator.cs new file mode 100644 index 0000000..47a10b1 --- /dev/null +++ b/WordGen/Model/Generator.cs @@ -0,0 +1,235 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using WordGen.Model.Exceptions; +using WordGen.View.LocalizationString; + +namespace WordGen.Model { + /// + /// Représente un générateur de mot utilisant un syllabaire donnée et d'autres informations sur la manière de générer des mots. + /// + class Generator { + + protected Syllabary _syllabary; + protected uint _lenght = 0; + protected string _syntaxe; + protected Random _r = new Random(); + protected StringBuilder _word; + protected GeneratorSettings _genSett; + + /// + /// Instantie un générateur de mot en utilisant un syllabaire et une longueure de mot. + /// + /// Le syllabaire dans lequel l'application puise ses éléments. + /// La longueur (approximative) des mots à produire. + /// Autorise l'utilisation de syllabes dans la composition. + public Generator(Syllabary thisSyllabary, uint wordLenght, GeneratorSettings mySettings = null) { + this._syllabary = thisSyllabary; + this._lenght = wordLenght; + if (mySettings == null) + mySettings = new GeneratorSettings(); + this._genSett = mySettings; + this._syntaxe = convertLenghtToSyntaxe(); + } + + public Generator(Syllabary thisSyllabary, string thisSyntax) { + this._syllabary = thisSyllabary; + this._syntaxe = thisSyntax; + } + + protected string convertLenghtToSyntaxe() { + + StringBuilder syntaxer = new StringBuilder(); + for (int i = 0; i < _lenght; i++) { + if (i == 0) { + if (_syllabary.vowels.Count > 0 && _r.Next(101) < _genSett._vowelBeginProba) { + syntaxer.Append('v'); + continue; + } else if (_syllabary.syllables.Count > 0 && _r.Next(101) < _genSett._syllableBeginProba) { + syntaxer.Append('s'); + continue; + } + + } + // s'il y a des syllabes et que le hazard veux qu'on utilise une syllabe maintenant... + if (_syllabary.syllables.Count > 0 && _r.Next(101) < _genSett._syllableProba) { + // ...on ajoute une syllabe. + syntaxer.Append('s'); + // si c'est le premier charactère et que le hazard le veux... + } else if (_syllabary.consonants.Count > 0 && _syllabary.vowels.Count > 0) { + // si rien de tout ça n'est arrivé, on met une consonne et une voyelle. + syntaxer.Append("cv"); + } else if (_syllabary.vowels.Count > 0) { + syntaxer.Append('v'); + } else if (_syllabary.consonants.Count > 0) { + syntaxer.Append('c'); + } else if (_syllabary.syllables.Count > 0) { + syntaxer.Append('s'); + } else { + throw new GeneratorException("Impossible de générer des mots à partir du syllabaire choisit. Le syllabaire doit contenir des voyelles, des consonnes ou des syllabes."); + } + } + return syntaxer.ToString(); + } + + public Dictionary generateWords(decimal thisMuch) { + var results = new Dictionary(); + var courage = 5; + for (int i = 0; i < thisMuch; i++) { + _syntaxe = convertLenghtToSyntaxe(); + try { + // generation of a word. + string aWord = this.generateOneWord(); + results.Add(aWord, null); + + } catch (NoBeforeSyllableMatchException nbsme) { + results.Add(nbsme.wordSoFar, nbsme); + } catch (EmptyConsonnantListException ecle) { + results.Add(ecle.wordSoFar, ecle); + } catch (EmptySyllableListException esle) { + results.Add(esle.wordSoFar, esle); + } catch (EmptyVowelListException evle) { + results.Add(evle.wordSoFar, evle); + } catch (GeneratorException ge) { + results.Add(ge.wordSoFar, ge); + //} catch(ArgumentNullException ) { + // continue; + } catch (ArgumentException) { + if (courage <= 0) { + break; + } + i--; + courage--; + continue; + } + + // other exception are managed upstair + } + return results; + } + + protected string generateOneWord() { + _word = new StringBuilder(); + char previousLetter = '0'; + foreach (char letter in _syntaxe) { + switch (letter) { + case 'c': + //if counsonne.count != 0 + _word.Append(selectAConsonnant()); + break; + + case 'v': + _word.Append(selectAVowel()); + break; + + case 's': + _word.Append(selectASyllable(previousLetter)); + break; + + default: + break; + } + previousLetter = letter; + } + return _word.ToString(); + } + + protected string selectAVowel() { + int aNumber = _r.Next(_syllabary.vowels.Count); + return _syllabary.vowels.ElementAt(aNumber); + } + + protected string selectAConsonnant() { + int aNumber = _r.Next(_syllabary.consonants.Count); + return _syllabary.consonants.ElementAt(aNumber); + } + + protected string selectASyllable(char previousLetter = '0') { + int aNumber = _r.Next(_syllabary.syllables.Count); + string candidat = _syllabary.syllables.ElementAt(aNumber); + + switch (_syllabary.beforeSyllable) { + // Comble d'un caractère adpaté avant la syllabe. + case BeforeSyllable.AutoInsert: + if (!isAttachable(previousLetter, candidat)) { + switch (previousLetter) { + case 'c': + candidat = this.selectASyllable() + candidat; + break; + case 'v': + candidat = this.selectAConsonnant() + candidat; + break; + case 's': + + default: + break; + } + } + break; + // Choisit une syllable compatible avec le caractère précéent. + case BeforeSyllable.AutoSelect: + // Toutes les syllables peuvent candidater. + List remaningCandidats = new List(); + remaningCandidats.AddRange(_syllabary.syllables); + + // tant que la syllabe candidate n'est pas attachable avec le caractère précedent, on en choisit un autre + while (!isAttachable(previousLetter, candidat)) { + remaningCandidats.Remove(candidat); + // Si à la fin aucun candidat ne peux prétendre aller avec le caractère précédent, on lève une exception. + if (remaningCandidats.Count() == 0) { + throw new NoBeforeSyllableMatchException(_word.ToString(), candidat, _syntaxe, _syllabary); + } + aNumber = _r.Next(remaningCandidats.Count()); + candidat = _syllabary.syllables.ElementAt(aNumber); + } + + break; + // Ne fais pas de changement de la syllabe choisit + case BeforeSyllable.AsIs: + default: + break; + } + return candidat; + } + + protected bool isAttachable(char previousLetter, string candidat) { + switch (previousLetter) { + // cas consonne + case 'c': + // pour chaque consonne dans la syllabaire + foreach (string aCons in _syllabary.consonants) { + // si le candidat commence avec cette consomne. + if (candidat.StartsWith(aCons)) { + // alors ce candidat ne peux pas être utilisé. + return false; + } + } + break; + + // cas voyelle + case 'v': + foreach (string aVow in _syllabary.vowels) { + if (candidat.StartsWith(aVow)) { + return false; + } + } + break; + + // cas syllabe + case 's': + // toute syllabe est compatible avec les autres. + return true; + + // autres cas (dont '0') + default: + // tout les syllables sont compatible + return true; + } + return true; + } + + + } +} diff --git a/WordGen/Model/GeneratorSettings.cs b/WordGen/Model/GeneratorSettings.cs new file mode 100644 index 0000000..c0495b0 --- /dev/null +++ b/WordGen/Model/GeneratorSettings.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WordGen.Model { + class GeneratorSettings { + + + public decimal _vowelBeginProba { get; set; } + public decimal _syllableProba { get; set; } + public decimal _syllableBeginProba { get; set; } + + public GeneratorSettings() { + _vowelBeginProba = 50; + _syllableProba = -1; //10; + _syllableBeginProba = -1; // 0; + } + + public GeneratorSettings(UInt16 vowelBeginProba, UInt16 syllableProba, UInt16 syllableBeginProba) { + _vowelBeginProba = vowelBeginProba; + _syllableBeginProba = syllableBeginProba; + _syllableProba = syllableProba; + } + + } +} diff --git a/WordGen/Model/Syllabary.cs b/WordGen/Model/Syllabary.cs new file mode 100644 index 0000000..732271a --- /dev/null +++ b/WordGen/Model/Syllabary.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; + +namespace WordGen.Model { + /// + /// Represends a manageable collection of syllables, consonants and/or vowels. + /// + [XmlRoot] + public class Syllabary : ICloneable { + /// + /// The title of the syllabary, like a language. + /// + [XmlElement("Title")] + public string title { get; set; } + /// + /// The list of syllable the syllabary contains. A syllable is a combination of consonants and vowels. + /// + [XmlArray("Syllables")] + [XmlArrayItem("Syllable")] + public List syllables { get; set; } + /// + /// The list of consonants the syllabary contains. A consonant is a speech sound that is articulated with complete or partial closure of the vocal tract. + /// + [XmlArray("Consonants")] + [XmlArrayItem("consonant")] + public List consonants { get; set; } + /// + /// The list of vowels or semivowels the syllabary contains. A vowel is a sound pronounced with an open vocal tract so that there is no build-up of air pressure at any point above the glottis. + /// + [XmlArray("Vowels")] + [XmlArrayItem("Vowel")] + public List vowels { get; set; } + /// + /// The way the software will join a syllable with the previous added element. + /// + [XmlElement("beforeSyllable")] + public BeforeSyllable beforeSyllable; + /// + /// The way the software will join the next element with the added syllable. + /// + [XmlElement("afterSyllable")] + public AfterSyllable afterSyllable; + + public Syllabary() { + this.syllables = new List(); + this.consonants = new List(); + this.vowels = new List(); + } + + protected Syllabary(Syllabary aSyllabary) { + title = aSyllabary.title; + syllables = new List(aSyllabary.syllables); + consonants = new List(aSyllabary.consonants); + vowels = new List(aSyllabary.vowels); + beforeSyllable = aSyllabary.beforeSyllable; + afterSyllable = aSyllabary.afterSyllable; + } + + public object Clone() { + return new Syllabary(this); + } + + public string toString() { + return this.title; + } + } + +} diff --git a/WordGen/Model/SyllabaryWrapper.cs b/WordGen/Model/SyllabaryWrapper.cs new file mode 100644 index 0000000..ed213fd --- /dev/null +++ b/WordGen/Model/SyllabaryWrapper.cs @@ -0,0 +1,131 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using WordGen.Model; + +namespace WordGen { + public static class SyllabaryWrapper { + + /// + /// La liste des Syllabaire géré par l'application. + /// + private static List _Sillabaries = new List(); + + internal static int count() { + return _Sillabaries.Count; + } + + /// + /// Vérifie que le nom fournit n'existe pas déjà dans la liste. Propose un nom alternatif également vérifié. La fonction est récustive à chaque modifications et garantie qu'il n'est pas possible de posséder le même nom dans la liste. + /// + /// Le nom a vérifier. + /// Si le nom est déjà utilisé, le nom nom original + /// Le numéro utilisé pour différentier le nom a vérifier d'un nom déjà existant + /// + private static string CheckName(string Name, string Original = null, uint Version = 1) { + // Nous comparons le nom avec chaque item existant dans la liste. + foreach (Syllabary item in _Sillabaries ) { + // Si l'un des item à un nom identique au nom spécifié ... + if (item.title.Equals(Name)) { + + // ... et si la fonction n'as pas déjà suggéré un nouveau nom ... + if (Original == null) { + // on sauvegarde le nom original pour les appels ultérieurs. + Original = Name; + // On suggère un nouveau nom basé sur l'ancien et une version. + Name = Name + " (" + Version + ")"; + + } else { + // Sinon... + // ...On reprends le nom original et on utilise la version (qui a été incrémenté dans la méthode appelante) + Name = Original + " (" + Version + ")"; + } + + // On vérifie que le nom suggéré n'existe pas déjà, en fournissant l'original et une version supérieure. + Name = CheckName(Name, Original, ++Version); + } + } + return Name; + } + + /// + /// Enregistre dans le répertoire AppData les syllabaires de l'application sous forme de fichier XML. Les fichiers existant sont remplacé. + /// + public static void SaveToDrive() { + SyllabaryIoManager siom = new SyllabaryIoManager(); + siom.saveAllSyllabaries(_Sillabaries, SyllabaryIoManager.UserAppData); + } + + /// + /// Récupère depuis le répertoire AppData les fichier de syllabaires existants. + /// + public static void LoadFromDrive() { + SyllabaryIoManager siom = new SyllabaryIoManager(); + AddRange(siom.loadAllSyllabaries(SyllabaryIoManager.UserAppData)); + } + + /// + /// Obtient le syllabaire de la liste des syllabaires géré par le wrapper, spécifié par son titre. Lève une exception si aucun syllabaire avec le titre spécifié n'est trouvé. + /// + public static Syllabary Get(string thisSyllabary) { + foreach (Syllabary item in _Sillabaries) { + if (item.title.Equals(thisSyllabary)) { + return item; + } + } + throw new KeyNotFoundException(); + } + + /// + /// Obtient la liste complète des syllabaires géré par le wrapper. + /// + public static List GetAll() { + return _Sillabaries; + } + + /// + /// Ajoute le syllabaire spécifié à la liste des syllabaires géré par le wrapper. + /// + /// Le syllabaire qui sera ajouté. + public static void Add(Syllabary aSyllabary) { + aSyllabary.title = CheckName(aSyllabary.title); + _Sillabaries.Add(aSyllabary); + } + + /// + /// Remplace un syllabaire de la liste des syllabaires géré par le wrapper, spécifié par son titre, par un nouveau syllabaire spécifié. Lève une exception si aucun syllabaire avec le titre spécifié n'est trouvé. + /// + /// Le titre du syllabaire à remplacer. + /// Le syllabaire qui sera gardé. + public static void Replace(string thisSyllabaryTitle, Syllabary withThisSyllabary) { + foreach (Syllabary item in _Sillabaries) { + if (item.title.Equals(thisSyllabaryTitle)) { + _Sillabaries.Remove(item); + withThisSyllabary.title = CheckName(withThisSyllabary.title); + _Sillabaries.Add(withThisSyllabary); + break; + } + } + } + + /// + /// Supprime un syllabaire de la liste des syllabaires géré par le wrapper, spécifié par son titre. Lève une exception si aucun syllabaire avec le titre spécifié n'est trouvé. + /// + /// Le titre du syllabaire à supprimer. + public static void Delete(string thisSyllabaryTitle) { + foreach (Syllabary item in _Sillabaries) { + if (item.title.Equals(thisSyllabaryTitle)) { + _Sillabaries.Remove(item); + break; + } + } + } + + /// + /// Ajoute la liste des syllabaies spécifiés à la liste des syllabires géré par le wrapper. + /// + public static void AddRange(IEnumerable thesesSyllabaries) { + _Sillabaries.AddRange(thesesSyllabaries); + } + } +} \ No newline at end of file diff --git a/WordGen/Properties/AssemblyInfo.cs b/WordGen/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5834341 --- /dev/null +++ b/WordGen/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Les informations générales relatives à un assembly dépendent de +// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations +// associées à un assembly. +[assembly: AssemblyTitle("WordGen")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WordGen")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly +// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de +// COM, affectez la valeur true à l'attribut ComVisible sur ce type. +[assembly: ComVisible(false)] + +// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM +[assembly: Guid("c3eac4e8-793d-4e5c-a76e-2a8a8bb72562")] + +// Les informations de version pour un assembly se composent des quatre valeurs suivantes : +// +// Version principale +// Version secondaire +// Numéro de build +// Révision +// +// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut +// en utilisant '*', comme indiqué ci-dessous : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WordGen/Properties/DataSources/WordGen.Model.Syllabary.datasource b/WordGen/Properties/DataSources/WordGen.Model.Syllabary.datasource new file mode 100644 index 0000000..1919e9f --- /dev/null +++ b/WordGen/Properties/DataSources/WordGen.Model.Syllabary.datasource @@ -0,0 +1,10 @@ + + + + WordGen.Model.Syllabary, WordGen, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/WordGen/Properties/Resources.Designer.cs b/WordGen/Properties/Resources.Designer.cs new file mode 100644 index 0000000..990caef --- /dev/null +++ b/WordGen/Properties/Resources.Designer.cs @@ -0,0 +1,603 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace WordGen.Properties { + using System; + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WordGen.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap action_add_16xLG { + get { + object obj = ResourceManager.GetObject("action_add_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap action_Cancel_16xLG { + get { + object obj = ResourceManager.GetObject("action_Cancel_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap arrow_run_16xLG { + get { + object obj = ResourceManager.GetObject("arrow_run_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ASCube_16xLG { + get { + object obj = ResourceManager.GetObject("ASCube_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon ASCube_16xLG1 { + get { + object obj = ResourceManager.GetObject("ASCube_16xLG1", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ASCube_32xLG { + get { + object obj = ResourceManager.GetObject("ASCube_32xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon ASCube_32xLG1 { + get { + object obj = ResourceManager.GetObject("ASCube_32xLG1", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap BrokenlinktoFile_431_16x { + get { + object obj = ResourceManager.GetObject("BrokenlinktoFile_431_16x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap BrokenlinktoFile_431_32x { + get { + object obj = ResourceManager.GetObject("BrokenlinktoFile_431_32x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Close_16xLG { + get { + object obj = ResourceManager.GetObject("Close_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Close_6519 { + get { + object obj = ResourceManager.GetObject("Close_6519", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap CloseResults_8579 { + get { + object obj = ResourceManager.GetObject("CloseResults_8579", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Copy_6524 { + get { + object obj = ResourceManager.GetObject("Copy_6524", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Cut_6523 { + get { + object obj = ResourceManager.GetObject("Cut_6523", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap EditTitleString_357 { + get { + object obj = ResourceManager.GetObject("EditTitleString_357", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap folder_Open_16xLG { + get { + object obj = ResourceManager.GetObject("folder_Open_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Folder_special_open__5844_16x { + get { + object obj = ResourceManager.GetObject("Folder_special_open__5844_16x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap gear_16xLG { + get { + object obj = ResourceManager.GetObject("gear_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap lock_16xLG { + get { + object obj = ResourceManager.GetObject("lock_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap NewBuildDefinition_8952 { + get { + object obj = ResourceManager.GetObject("NewBuildDefinition_8952", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap NewFile_6276 { + get { + object obj = ResourceManager.GetObject("NewFile_6276", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Open_6529 { + get { + object obj = ResourceManager.GetObject("Open_6529", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Paste_6520 { + get { + object obj = ResourceManager.GetObject("Paste_6520", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap PencilAngled_16xLG_color { + get { + object obj = ResourceManager.GetObject("PencilAngled_16xLG_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap RefactoringLog_12810 { + get { + object obj = ResourceManager.GetObject("RefactoringLog_12810", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon RefactoringLog_128101 { + get { + object obj = ResourceManager.GetObject("RefactoringLog_128101", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Remove_16xLG { + get { + object obj = ResourceManager.GetObject("Remove_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Running_16xLG { + get { + object obj = ResourceManager.GetObject("Running_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap save_16xLG { + get { + object obj = ResourceManager.GetObject("save_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Saveall_6518 { + get { + object obj = ResourceManager.GetObject("Saveall_6518", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Alert_16xMD { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Alert_16xMD", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Alert_16xMD_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Alert_16xMD_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Alert_32xMD { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Alert_32xMD", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Alert_32xMD_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Alert_32xMD_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Complete_and_ok_16xLG { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Complete_and_ok_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Complete_and_ok_16xLG_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Complete_and_ok_16xLG_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Help_and_inconclusive_16xLG_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Help_and_inconclusive_16xLG_color", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Information_16xMD { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Information_16xMD", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Warning_16xLG { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Warning_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon StatusAnnotations_Warning_16xLG_color { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Warning_16xLG_color", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap StatusAnnotations_Warning_16xLG_color1 { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Warning_16xLG_color1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon StatusAnnotations_Warning_16xLG1 { + get { + object obj = ResourceManager.GetObject("StatusAnnotations_Warning_16xLG1", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Strings_7959_16x { + get { + object obj = ResourceManager.GetObject("Strings_7959_16x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Strings_7959_32x { + get { + object obj = ResourceManager.GetObject("Strings_7959_32x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Textfile_818_16x { + get { + object obj = ResourceManager.GetObject("Textfile_818_16x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon Textfile_818_16x1 { + get { + object obj = ResourceManager.GetObject("Textfile_818_16x1", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Textfile_818_32x { + get { + object obj = ResourceManager.GetObject("Textfile_818_32x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon Textfile_818_32x1 { + get { + object obj = ResourceManager.GetObject("Textfile_818_32x1", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap unlock_16xLG { + get { + object obj = ResourceManager.GetObject("unlock_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Views_Content_16 { + get { + object obj = ResourceManager.GetObject("Views_Content_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Icon semblable à (Icône). + /// + internal static System.Drawing.Icon Views_Content_161 { + get { + object obj = ResourceManager.GetObject("Views_Content_161", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Views_Detail_16 { + get { + object obj = ResourceManager.GetObject("Views_Detail_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Views_list_16 { + get { + object obj = ResourceManager.GetObject("Views_list_16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap WindowsForm_817_16x { + get { + object obj = ResourceManager.GetObject("WindowsForm_817_16x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/WordGen/Properties/Resources.resx b/WordGen/Properties/Resources.resx new file mode 100644 index 0000000..5244a84 --- /dev/null +++ b/WordGen/Properties/Resources.resx @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\action_add_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\action_Cancel_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\arrow_run_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\CloseResults_8579.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Close_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Close_6519.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Copy_6524.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Cut_6523.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\EditTitleString_357.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\folder_Open_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Folder(special-open)_5844_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\NewBuildDefinition_8952.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\NewFile_6276.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Open_6529.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Paste_6520.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RefactoringLog_12810.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Remove_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Running_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Saveall_6518.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\save_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Complete_and_ok_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Complete_and_ok_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Help_and_inconclusive_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Warning_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Warning_16xLG_color.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Warning_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ASCube_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ASCube_32xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\PencilAngled_16xLG_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Textfile_818_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Textfile_818_32x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\lock_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\BrokenlinktoFile_431_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\BrokenlinktoFile_431_32x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\gear_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Alert_16xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Alert_16xMD_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Alert_32xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Alert_32xMD_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Strings_7959_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Strings_7959_32x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Views_Content_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Views_Detail_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Views_list_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\WindowsForm_817_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Information_16xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\unlock_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ASCube_16xLG.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\RefactoringLog_12810.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\StatusAnnotations_Warning_16xLG.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Textfile_818_16x.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Views_Content_16.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\ASCube_32xLG.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Textfile_818_32x.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/WordGen/Properties/Settings.Designer.cs b/WordGen/Properties/Settings.Designer.cs new file mode 100644 index 0000000..1f2a181 --- /dev/null +++ b/WordGen/Properties/Settings.Designer.cs @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace WordGen.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Point PreviousLocation { + get { + return ((global::System.Drawing.Point)(this["PreviousLocation"])); + } + set { + this["PreviousLocation"] = value; + } + } + } +} diff --git a/WordGen/Properties/Settings.settings b/WordGen/Properties/Settings.settings new file mode 100644 index 0000000..0227638 --- /dev/null +++ b/WordGen/Properties/Settings.settings @@ -0,0 +1,9 @@ + + + + + + 0, 0 + + + \ No newline at end of file diff --git a/WordGen/Resources/ASCube_16xLG.ico b/WordGen/Resources/ASCube_16xLG.ico new file mode 100644 index 0000000000000000000000000000000000000000..cb0bf6adf658031a63618d1fc7dc551791d2aecd GIT binary patch literal 1150 zcmbtTF>b<840WU)fT=UxdJL33x5&U!BsMq-C|kKiS$c^q(6#MKS+bh3;QO| z?b}w5haW@Ir{B!^S=`)OmZf>7THbR#InKgbctU=D_l(JTZJ(a}J^Ib-#-5qa&Di%I z(tqssrt_NAi@72Hyv}?2zJ30DUtSZ%tO@kt`Q`e7^9%PU>2K|iJI9OtrC;uev%cEj Zq~{&^i&^@1)@!1eKETcYuZZe@Z~_XHMQs28 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/ASCube_16xLG.png b/WordGen/Resources/ASCube_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..ce885d26d93d4d45c83855fbbd08c66a76ced62f GIT binary patch literal 407 zcmV;I0cie-P)t$4>DkZ}R1R-|xQfE;-R!%RVTjt{ZM4^}YG|%fP4f_;RYyN@Thn; zZkKa5cdo{J_iayLdOB4_1ls7%bYr$i^|)M zMk9wQwj6zb%9smnfeH89-jkw0k(}$R1CwLrn+?fBx(~E;VwLf|0LYshpaQ%G$#QFvIkND^Ik6Oor{YyL_6Kh@B zzv9mk`h#3zdsh2|c;bMv=hql(yAZ!KL(nluzB5nUw+RCE3+0%T6}@yv27EFI+Kl}`p!Yt~qz*D~RAz3|T;@GE;;)>&fuV+x@S?A;P zbB8OKIv46T zq%Ku6;`0rge3wF>d~>Gm%7gWR%3c(FtD4on0{#j67eO1q;Q#;t literal 0 HcmV?d00001 diff --git a/WordGen/Resources/ASCube_32xLG.png b/WordGen/Resources/ASCube_32xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..040280d151bbe5123b31faf89007d6808cc58674 GIT binary patch literal 599 zcmV-d0;v6oP)+&{?Ss6Qz*OvBLt% z(5RIiWBdtirLn;l_yn6kiMJVEhB+rZ?pe4qZ!U9i`*xRv%XzESiU7~^Xjd#2i#;>k zn2Od@v8mf22)=1Ya9^L?faZs0_*^$~ zr@;_hD+S1D*w;z{{|tZIW}<+^B@1Y^S_EJx>vXPYHlL9aSPKqtG51yhF$)+DhuAuq z01h;+*#Nk}xhWw2B_Id_?9WH0=Da{iLv(E$0ylb~mo0!ryqlpRrlEJ;K##5W08Td! zX*jtCH(9WbX2nM^`&G?`{puwh+0fS(ARSDeO;z{|fU=$*PKjNga@_i}p?q%$zqJ4{ l0XYpobgfT7PD5}l;|FUA{Lb(=Qm+62002ovPDHLkV1fhY1la%p literal 0 HcmV?d00001 diff --git a/WordGen/Resources/BrokenlinktoFile_431_16x.png b/WordGen/Resources/BrokenlinktoFile_431_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..63f2bda27dc712f5d3e100cd01c963e9a7315dd3 GIT binary patch literal 3068 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 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Close_16xLG.png b/WordGen/Resources/Close_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..a9ae49f26478fc992a2e745c262779ba995a78a4 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAP_V(% z#WAEJ?r5+hSA&AUl@E_LzuDt|^7;+)Ro%~Prnx6K_XZ?-PGn0dNo^|)nHeNxJHtg? zB&cWOO5U|wL$)w9_$R%u{Vw>5t!!h`eZD7IYtJY&N8der?2N~Go0iGnyqJ%*9ARF+ zaT4>^zwcTsoix=P^A5FjD6i)|*AN%R{qKLT_yGYMcl`%PErD)f@O1TaS?83{1OQ?9 BPBQ=i literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Close_6519.png b/WordGen/Resources/Close_6519.png new file mode 100644 index 0000000000000000000000000000000000000000..c57c424ba659d02685063cca74ef768e37fb8040 GIT binary patch literal 3044 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 R`Xm4V002ovPDHLkV1iNsi!}fM literal 0 HcmV?d00001 diff --git a/WordGen/Resources/EditTitleString_357.png b/WordGen/Resources/EditTitleString_357.png new file mode 100644 index 0000000000000000000000000000000000000000..6d5fcd3c02a9a5e070069274751414c5eeb91ccb GIT binary patch literal 350 zcmV-k0iphhP)fl;vRqmOiz@wHQVIOGIPmHnkL=SFZt7LoBein28?qK*4moG>pAG=<^7xE z%#{RP*VU`dN3?zal5Y`x`?n;J#q#VFn^gjmA-R2t%Br1|4DWxu0xlkoS=>CkvT7Uw zpC~ZKAPmD8K(qU)A?&_uoZr1-|J%Bm&D1Ki60VN$_dqJ4J~Z49VQ~_Jp~lXugie;R z>XSe}j2V;gC|i4o*4t0;i0#uQ23%7f4Mw07uK?s2kfte$qEJbIadO!p5qj&~C(zS4 wJ@{QEDwq;?*IS*07*qoM6N<$f-QWR@c;k- literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Folder(special-open)_5844_16x.png b/WordGen/Resources/Folder(special-open)_5844_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..71fdfec94d0dbd6179845c7fb2cef149d9599b97 GIT binary patch literal 417 zcmV;S0bc%zP)>z?7PP%n+kkUpF>LR!V99*1S3N9{A{sA5ABGRp2I7kE$ zL|mPUc8DS(p=hin)N0kcqlanJR;xbfbMKQ&JZQkS?NtDK_$4CTY}pT&uySeq z#7H0tv9{|c9K0B(@D5I*$G?D96wY_*C%8Y^h7;e!a_12S<~GqO0{)3W^H;1J{0Sc6 zDVKpf9)j3ag&=zI@m@x`aD`(2h~0DgX4W8d`&<#?L$mAH&s-p+E+H5U(#rb&=@n+k zDH+F2-+>&9#h~jtve_)ZSRX$~qt`zVPUZ0$Z^c`eftpICkVqszjOYZkvYxI>!&7il z${)5o1t#E?W11$MR9~NA-<>u84#MFu6|>4w6a`SCXha?ha04WXK#fEqEQY3Oppc#$ zB_&B(Y4JrjLJ(|)AlfNJuvGB;g8PD$f}ous*!Txten8K{Qc!Fa5(rocf}L=O zpb%{2ITNz5#S@DZ28LxayZdHeHqLu5eV!TV`OI44oNHs#G`k3Qz`K!SAd8~tibS1T z2U`MW4t@m{)ixcV z_(LZ3g*y0i4`QIwnQ<5L_E4~xoK5u(;@=u%K#G&?iHziEHqtxDT0s{=p?d&$pk%y1 zO1$ONOzr?|{uKfu|b?JB@I6L?O{zL0>YrGUL9J%6&PCf|X z1>VaeL_q*+Eqan=nSulm5e8o9#kc(g#Oy6PgHR}W(!g(-ZVoJ>PMnZRp~xWIHs3x# z@&K)?g}cw4Z{S5#99_(cqUfrss*$4?w{!;b`q$kU`+D0vx$->6vMg!dkO?PRx~@TMt$YH0p6G$ne-Pup42FWsV|{NxSN;SF5#blS09loe UG8Nz?4*&oF07*qoM6N<$f{3ehNB{r; literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Open_6529.png b/WordGen/Resources/Open_6529.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e1d55f3070837fdf2b5411629c2229aa82855b GIT binary patch literal 411 zcmV;M0c8G(P)9HB-P;NgnEBu;qtP&Ox`|4b!U4>T z`%n*&#LW`{74wt5@OosnnO{JcaPwnw0k!BHjq?D$IWpW`W)9PLA{qq4Gc=1zo-Y=E zE`UpF#x|L{+GS?qDq$K0Se3Z8r;UJmKu>JH%*bSgNWU;fMQYiNDKvse<|2q}Y8h?) z+W!MUJf&7p{4jVi^$+G+*ui|cMdAISJb+3} zHnn!7Nw7oy?y&L#&bq7)!VaHC4tnMsB}&g(0q}|j_yQ+{h>cBBshR))002ovPDHLk FV1kwtv0VTF literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Paste_6520.png b/WordGen/Resources/Paste_6520.png new file mode 100644 index 0000000000000000000000000000000000000000..36915a543ab890bfa215337b2071a75032fc824b GIT binary patch literal 265 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 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/RefactoringLog_12810.ico b/WordGen/Resources/RefactoringLog_12810.ico new file mode 100644 index 0000000000000000000000000000000000000000..1d57bd8589156390f4940afc097fb5eceb5bec28 GIT binary patch literal 1150 zcmeH`OAde_3`B>-1F&-K(qkA-H7VvB!`<6MoWe{1yb*Tzp}{|6BHq8)BjQr7?g literal 0 HcmV?d00001 diff --git a/WordGen/Resources/RefactoringLog_12810.png b/WordGen/Resources/RefactoringLog_12810.png new file mode 100644 index 0000000000000000000000000000000000000000..77c96b6418f3cd13cec79368b28968e163d25e5e GIT binary patch literal 2853 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 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Running_16xLG.png b/WordGen/Resources/Running_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..10849ccb59ab0f53a5ba364bb2fb9f3f8f7e1269 GIT binary patch literal 409 zcmV;K0cQS*P)(r@Rhi2=fQ#%wjk!t{HJxSTBq)!i!W4V#QSZp5U4gaiN0 z&lCKgDmxXl4qFQVM`U7%!L<%dntV>sdFkYdA<&?kdF*l$9=l_dHcOc%bSklw;52P> z!78AC(ns^432WU_=7PB*gEM-tEV+9w2Im7MjbMsKI;Nk-z=~Sa0p{Tx?dLXTKQm&K z1ou>uEDhg>sNL2SSTKwX9;jhyTkDT?bYHs&m!UEjOiwoPi5Dr}1)VlB-b7nA(QE8C z7Q$7x%AR}!aHlT-HaB7Zu`lmaZl)P+mj8g*mA~^J=P!;E&b%7|00000NkvXXu0mjf D2T7zp literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Saveall_6518.png b/WordGen/Resources/Saveall_6518.png new file mode 100644 index 0000000000000000000000000000000000000000..e429cd4447fd7dda17a2ba3d63b195cbf7dd202b GIT binary patch literal 2954 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 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Alert_16xMD.png b/WordGen/Resources/StatusAnnotations_Alert_16xMD.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d7aedd5065df3eab3390b02e8f6a0b55e48c0d GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAP;k4a zi(^Pd+|kK~LWdLtT&MSl-f8-LVTJ3hik>+Q$urDatCaI5<`&i|uGX8>bm+c8ecAun z^IK-jG5(sdz)$vGui-L@w0%MsT^1dUs;-nYS#L6-z$;Vg_(Ug;7Gb#ybKNI=usOda zSK86yVfKVX{hIx@QUZ4!4tX&hyrtz; z(%;uMdN6Y)_t~;$IFv-(ci~M;i@F|q|A_wIzv-{oZ5XFFm)-fl;$uG03k;sFelF{r G5}E+YZ)ZyY literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Alert_16xMD_color.png b/WordGen/Resources/StatusAnnotations_Alert_16xMD_color.png new file mode 100644 index 0000000000000000000000000000000000000000..3d31d334f163162fdb24df14579b55b1a343d45f GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAQ1GUw zi(^Pd+|gh|zC#8)KC3pRFsQgCq`Wx8UctoguwqY7lK?lj{{!Z^H#L)(IIU7NgH|YS z&3ok3#uKq>&FP5ihS;DsC2u*GUv0DhvxOvF6k1bmWWV?azAT_k3WC*EkDja zTjm{)Q9?wy4CB%6%iT{~@42QQ$W?3fu8HldpK*aNz=z3q!MoXvg4PvT7v2^yTUR7a zc#~$kIAhCM9>Wg-*RvSD%X~e2i=|$vt1b ocT05AUe-9MU+mg%uU6m8@7FYaQLI*W1kjTVp00i_>zopr0EzE#1poj5 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Alert_32xMD.png b/WordGen/Resources/StatusAnnotations_Alert_32xMD.png new file mode 100644 index 0000000000000000000000000000000000000000..50de19e752742f2ff709380f14f08427d66640ba GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEQga z#WAEJ?(Ou0oQDl~Tyrl@etybu`Zn$*(kUYO7j!O^F`j?AI(ll8*MhDK_AO2J8jSK^ zzw$!r17wnKynD<)@!d{oBn0c(OlZima}%Hu)~8nFO@U+Dj!%rH|Tp@ z{&ALflg)>qQ@8rB#|X6?EaW`&Uu{^aU^x8B(rdUI^!YLzxOwA+b|03zLeklYE~4` O`wX70elF{r5}E))VSZTv literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Alert_32xMD_color.png b/WordGen/Resources/StatusAnnotations_Alert_32xMD_color.png new file mode 100644 index 0000000000000000000000000000000000000000..afccb3b7b0629c7e6774387e439e3a87ababffdd GIT binary patch literal 334 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv(mfq{|1 z)5S5QBJS;UN3KH-Jg&1Zw2JgEcyLU)LXcnKtH`{A!4Y@3;*NN8>?+Yb8k@U7pfJn$ ziGG(sV}L})J!Rgxl3BCVq>U}4Ehjnr<5gJX=n#9o{afHah7i}loc0EzVmEe~g5DsO zgOVE_?mlfCJx^}FX0{&Zw*%*|hbw4g%W)oiu!AMJAf`$1N3HSn78QwX>wBDS4|cd{ zBpgWWydlZ)V8IdjJU7pTy)zgZeneIBFUZ<_XZ^Bg3}^ecYwWmk>6RONiv4?)Cr2;X z{SkIMytHgRgF@qh&;y!^^Bpd6hch}bHLeDWFidE8Aaw9-M@NJ6%0rF88}D*T%gMjY co56C=Pye>kJpE0fhdEP)dp|<36)unj zi^TE*$zd-!OS=pB16NyJWt|<^J>$#?+`<2c>}SOW;PRtunV9Oo4i zTuz8L;vM?Ff61~ejG_qB#~OQ_;VdNR0J3l>isHIy8rTrWF_I)X0q}*JqjIn-%W{@X z)O8Kck^`Q=n}s!xjo+|X+~VVXho{Hq^Ad8%rGqsKHmvSeAhvJYA5O^Sg0Sm4tGesD z7={7+{U;P8C**=ZsGGQg2Hr`<&BF$SrfxuYKqaL-tF9KbK@dQKN>rq>Rb6sgE~pp| z(*>;Rl2fT9GKHQIBzqdaL=t_K#ATYMC(X%Rl$Ym^$V@Za+?waPywALuJAbNRl7qUBcVeG+~@B7~O-WOhaFi=(10>B(V zXtX4N#PhrzS~zPFuj-fQpZPYHaTq)VXg}82;|yn^KnGBTeEqb(IJ_U=!t7>-HiB2-Hf8B$#^#U1O22h|9 z6{+l0R~*R&3BzH#fKy#@5}ib*a9{<=oyM0si9?;lX*`Zg!%0_^r_D!XrkQPS6?a12 kXWz^oXE>`k`1kMp4HuKA)VsZo?f?J)07*qoM6N<$f>u?j`v3p{ literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Help_and_inconclusive_16xLG_color.png b/WordGen/Resources/StatusAnnotations_Help_and_inconclusive_16xLG_color.png new file mode 100644 index 0000000000000000000000000000000000000000..f27cf7fadab3b54b071e7ff03f33efb1704d81e6 GIT binary patch literal 388 zcmV-~0ek+5P)d zvxAGDp%G`hi_om%U|d{W+Nz5#Y0)Tk(EG#jXu^9@@DIlex%(Y=$^ThYQl95+J|d2w zlu9^a$8kE-fHeg+_~>50e)*k;54w7u6zDB)mfGv{w7EQ!G7xg3zBEwq?cvSa(nbH1 zs)Qy-zMC=DLK9mO-Q)CK!MkfN-S2tyw7-hLGu{z|=}-$s?c5uTzP)&;!k|J87_gWi zLRX!3E?*GZoG?+1fuQ`sR?Z&jHwhEes6q$LI>#ba$*$lF@af%{bTUn#S;;&>0+Sd( zBP>jU1~JT`k@A5~!o)Vb4SQ}k=ID=7mIiAJ5T0x-WJqXMFj+ZNe?cxrixcU2P{)4S iosmNgYK5VHU*{iIhoq2ig2A`|0000COo1I_$UhIW>| zz>v^X?VI5XfYuo1n{{$el+g=Wp1I4oGpGLl%sZ_2x?{2mxlLy+1A3al)78&qol`;+ E0F8rq3IG5A literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Warning_16xLG.ico b/WordGen/Resources/StatusAnnotations_Warning_16xLG.ico new file mode 100644 index 0000000000000000000000000000000000000000..0cdd3d8a850974635630ff65df2dafa37e0319ef GIT binary patch literal 1150 zcmbu8!3~2j3`LF90XX%{v13%(f+M$X#Sj^Y5oj;Dx;Dy3CL|3}gFZ$?&;KU`qE4>9 zCm931ZbWx^dWiJZAnLX|(NpHq!OUFLS6WsCk(TthZPiHEnckuPSbd7B=m3_1VQ+wi9hIo_@tEUNCO{T3--@;3Y-L(2d1 zHa+$Xmalmm{*VFtf5qGM*fZF(hWT1e&t!`?dgEJMT{k#X%^<=*y`6K+*-FIxkG_D& B*QNjf literal 0 HcmV?d00001 diff --git a/WordGen/Resources/StatusAnnotations_Warning_16xLG.png b/WordGen/Resources/StatusAnnotations_Warning_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..18fa429fb1a2c476d4945b0b6b54242f4b9bdac4 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAP;jfK zi(^Pd+|)@2IS(7~xYqx>7+f;l=fbyX!AzDW}*0*1_fw1fMiE`6Z58Af~T=@R?b@?T)_3IO&F3j7z zmpf{6{JM0_VsVxY{D&JBU$OpO-6?pWBYDlaoi91#d8Tc$y!$d0=m7>#S3j3^P6iiH!LLK^f5B6|KmkwX;l zbRA*zbUzWD@pXmdR}Y2dO?1OrIhZ-b7)OX3H7fg<-%L+#k}%14y1YJ3tau3neu9Ro zKM`ZUZtdhhq&@f-)3-l&)d|TGqYGx- zKY!Wr*96v|FE$@f&E9p}WO7`Z9rvXdY5Gf}16t&^D#+iRynyxPmmMJ7`g7rJ*Xkqo zmAPJf!rLFdS827|*Oce@>+a*-3UA-lDldKC#Bk;Aua+x4_pjVnjbf0z6l7TZk1^|U WQ&gzJ^h%(Y7(8A5T-G@yGywp}+j74E literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Strings_7959_16x.png b/WordGen/Resources/Strings_7959_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d6811cd9df69c3530411a4140fc4b65aa9f2b6 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprDVZ zi(^Pd+}TNvTnq{vEVZ}){nx*mx}Mdsy+a_nt0hq|CE&snrAX0T3bP0l+XkK9YQu9 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Strings_7959_32x.png b/WordGen/Resources/Strings_7959_32x.png new file mode 100644 index 0000000000000000000000000000000000000000..20082526cb797a254d94c63007f59354136152fa GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4j!ywFfJby(BP;jBA zi(^Pd+}ml^d<_abZMM?O9|%=(&iSZT#W}Y$G`uuaJdBr_?SpAU)5iKsOSbs_Qf0k# zK)TVPXXDe{&%z9fU$)e;BuJ&-P7`Hds5tA-@GEaZ{sz7RmNi$*OS4%N{#-uh8u#W= zphV&P=Ra;%u>7*#$Gq8!>8QF&8JEIyz4t7~BKl@CretnAs^Oc$pc+1HDxX%?o_`$- j4Br@UaNgx+iDF!O_wn({E&fM=j%Dz4^>bP0l+XkKPIp&j literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Textfile_818_16x.ico b/WordGen/Resources/Textfile_818_16x.ico new file mode 100644 index 0000000000000000000000000000000000000000..5977ef6b3e65472d37f30348a2d695ac0a355627 GIT binary patch literal 1150 zcmZQzU<5(|0R|vYV8~!$U=RbcG=LZ+qyWT>V3L8s0VszK{{R2aNDch$+qeIuV01e{ zdYzn{h{7PXxb%N~|KUGA46=ieeq8PVnM;iRQTuVn0Wsl+9R9E{M;0R#f9TS%E9B}sq*;*5J1M3Ag4{x>P}WI(FI0Rr6jO5J zjZP-q`>$*-J^9RBmD9@w`y>=v7_#58BrsnT2~axk&uO^T?}2gDdoQgh-d&ICn(cIcm}e~S i=ic*OBK3QD9rKQ*ZeedEmfHXw%i!ti=d#Wzp$PzRB2(%B literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Textfile_818_32x.ico b/WordGen/Resources/Textfile_818_32x.ico new file mode 100644 index 0000000000000000000000000000000000000000..520b9bc5a4666b32f3349ec75123531e636c8103 GIT binary patch literal 5430 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 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Views_7953.png b/WordGen/Resources/Views_7953.png new file mode 100644 index 0000000000000000000000000000000000000000..f34d3dcf851dc42c9c4db92a8e39772eb2b47106 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprDhd zi(^Pd+}lZpTnq{vuC}wk@9*CFXRAgA_o6swXL-3-pBye0sE9g=@A%ERo-^o)?6RgX o_x-bWHmv`UU+{Axhg&e?gYc>Om+vgu1vHJp)78&qol`;+02y#F9{>OV literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Views_Content_16.ico b/WordGen/Resources/Views_Content_16.ico new file mode 100644 index 0000000000000000000000000000000000000000..0907ee8f0482b3ca346d83fdc23bae0f6eb9b2b1 GIT binary patch literal 1150 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 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Views_Detail_16.png b/WordGen/Resources/Views_Detail_16.png new file mode 100644 index 0000000000000000000000000000000000000000..f11c9ea67919ebd6b95bc36783b9a6693e921c31 GIT binary patch literal 3829 zcmd5;cTf|^9$p0LO{9o`f*?(Ll@1BL3Ir3tLJx=-K$IpJK)Qm6bc3MMi%1DZKz`5(HBhh7-&z@0st5c^tCMx zEb}3#DG$ce8zlP!L*uD$eG>r2rbCdmq4J#opfz)YLN8o!Mfsp^x}rRJ4WLk7Pj8fq z+jVCE{KhbrNSNg!yBcwF6JivFer$xYV58=>fW)F%69h&1XqXM7__9aY%o~pB=umLA zXGM|6#i8%BnTyfK(2h{e@jZ(Rdma_jxicO3+OI1%zpR6xy zE{~=!fSfw^F|4h*b$U)hGlW*a^PukvC%&6|{A6G|SXK4hnR=?XfXr`zjvCaPWYkM> zN0OM9AZeG#(D%sdeG<+aQKMObW4B7aRJaJB2n2TR{QQ34UK(K4U5BfFJy*)SAbN08Y2~Uo0VSOfTWWDHDmYx?lrY|a z;~cAk{So_gO^HVTG)|ciIi`;r-2h}IupOw~*z?0Pmg4aWaahKy;!E!+NoO1!X7}fN zi##;}nDzO{w#y`dD z?N-x~c6kQQG#fbJ5TdNJ<}6-u+UfT-0A;J+oWjvyGk{>jA zGpczq{jjIbY!I#up`p-fr#^1aHx@!c}e$8f=WA(3EhpT)suc4Qf{vHfxZfg%U3*k zPxl$!dnX_1^mz8HjQ8G^C)MsNWG}oga%CEeSBJJq)qg%gCEI*mN}{z1^6I=8O`>Dh zt24#)MXe{xE*6v5L~l9vzVfAD3DK#iQK0aJ@Yrj5)cNQz<VjkS1b9+`h!?pC@|PZ+y_QBKLTq=A#J9IiyS zm!Ey!9GgfwWt#FH-ru#T_c`S=`KB*DLj+q`TNF~5Gvfr+2_&cQiI=Iyxts&BoNX{E zMd{_#g*2u#lodi0D|&}5p_4YrFi9|pOH>k8P?%ddSx9HKVbukTFSueERH|zwYdKp$ z^C7v&st|Kw*^!8Be3Tkl0vS~nRtnL%HeXT7>QTieP@=g3*%C&uT_ zP!w@1M7~+@RnO?1+oCn8dptFEutS$KuT#$y)^s@YVp?I%8_Gz-FcDI38t zldNkZGa_8Ma>h7m=S%K|$tlT*BK;!sBE980h0>KgOm3Y{jrC3lqgI=t&?O-~WIX;T zX2EjQaw3m5kKIH~d8<^S&^?DMyGGmh-Hp7})XcY6(3!@lyh;DMg&*8Ol6$Z{j~{tk zdh`g&3VH!b0zLkOYKy!VN|i^ljqueRdbvpxnq!}2pE7+f0oSMcd{Fm+F4KLt)=RSj zvmUJ;t5OedWO>EGt{JqWfn3PGKMpzs_kt2 zY{ann*w@Ym<#RT<)~nds8{sxe);S0(o68ltC76=4Lp3EedB^f_rirFSnM25?vai?< zY(X_=+58A4p%m+Z4YEf%a3HH&N}E;_>k@CLKqQF$^Q z|72AosAV&GQ4)#hW$qo3oy8vS5@~kBSY{09Avut^n_(MKvC&4MT@oqk5*b{r6YX_# zhCW+fm!|{zw=fwM8I3FXgqN!dt8S~2<4?Qgo{D5z%iet7)DHb<-DTE<%Dfsr z1-;8pav}wg`amA~EE$qKIz%hP_Q=k5z#YDKaT>}5=WpesD_Zxna9V6y@u4N5^9?0@ zuI*nQmhcf5Qt=6RH^%S_!JmiTQ`vvAk8KL37YdIIhev3{c}5{l_DQG6`}U1PZ%%3d z&`#E#%s@(;DZLaolowSml(?okruatgjYg}4i*@%P0)sHPZp5u5AzG?%LfWcy`L|7?8YW_TWZfdq?~a%k(2`PJ|I$oCoo#uK1c#xvG~xfp(Vd z=(&iCl*OvAW3ZwggJwl5@RZWvI>7)F_mC?MouLg?WbVs!RlGamI z_CF#pTzS-|l19e8m|Q7_1&VX`SKs)b^iSB+^U~PcbNu-M$}K zJWVxl`Zf=eNAemZeLY<_!!mux*1`6TS+{!M(9&eUt{&ku(-S#WYk$KHSclu#V(363 za=rIHCJ7T1Eb)EZj_?c{xZsGNy2gZBd&BHA-LFH6T~Mi2!CzW`?XzA^m_H7G4Nrfm zeAQ#gXGwKGalovt=1EO@DejUxZZ)8;D$s?v$d##xpV+MP|H@7p8q8Euo2c6eKoMJr zTT|>4!QMi9_^z5!U!m2KTC>`#o0=Qy!RG&^Ps&>y@Ht>`_J~fN;%jigSQ8lhw*)>ec37N zDT(hq?&Rz()h~0tB(yfRo_gEiCo6qr^Wx4*gYUR6&)V}TCbPLaymy63uHRp6S-#KP zN#smSBvFv3ZtObBiW3h0o4k(t7A61$oCN?K2EcdHfn5aPmJ|R>b^s`+0>FWKbhSkn z0193MZ7rA|8DOSZ+W{mJ=^p`n`}U3WPw*=N1Og%b9UK<^KO(5CtRx-c&Ye5I+CPhb z<_{(RLBh|8zfJJV+E>zF!M}BIxOp5K@GHshZ{#rl`}olRnfrr;zf%2A3C_35{l@;Y z>d(bLnDh5ie@ CdmEep literal 0 HcmV?d00001 diff --git a/WordGen/Resources/Views_list_16.png b/WordGen/Resources/Views_list_16.png new file mode 100644 index 0000000000000000000000000000000000000000..60425c4590a5e5252277cab85dc26d0faf0ac261 GIT binary patch literal 3829 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 LWvp2SwF~(--f}V2 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/WindowsForm_817_16x.png b/WordGen/Resources/WindowsForm_817_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..9afd2aee267398230b85dc3c1f7b6507cfa29fea GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprEs- zi(^Pd+}lZpTnq|4%%8XY`LF+KQs}{*tfm}%VtLxrg}6NLCUSYq`!H+4v~7ncDR}#_ pUJO#%ThMs_;QIsrUD$URGrZv1#ckSiyA^00gQu&X%Q~loCIBZxFDC#1 literal 0 HcmV?d00001 diff --git a/WordGen/Resources/action_Cancel_16xLG.png b/WordGen/Resources/action_Cancel_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..ac08d59bd73defffa81d05af2138503395fa7981 GIT binary patch literal 637 zcmV-@0)qXCP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;14%?dRCwB?l0Rq@aTLeD5#w-h<`x%;lEnz>5Q$4%G?PO~s3-<>Fomd{BxpJ+ zv5v(iqne@3U@$`o3D~I+<50l{l7Ix_A9@mc1RUztjNsZ(RNg-*H%wtNBEZQC?XB{E`<;{lF;$f-9!(#N_{Sklb5t6+@r7YE`Dj#31 z3CW_D-0m(fN;RrVHL6N8l@M!Un09A*Yhsw4LQbktRl3WILbBo19@4#y;YBGJ-q9JPR}pk!;9zm`TZNT zlV@*a4%M~Hn`}%1l%~V3FQB^h{-4~K2AHbRz=Ej|CzT!cp?9Q5G)|wdR`t?g* zu)Ab%w#&&*Atxkz_EfxGZg&bfsl~&x(|v2Yx)(65*gIyD?Lnn1%~V3nopBog4j!Mm z+6NE=fD<=vTL6;wNPS^{OOh-pM~~%qKaVbwEC%eqWo_T;wBjk}1r5s?| zSNr>${A>$xadG8c65Pyu4@{2oweHt{E)Z7g!z0qvXx_jY-XJKwqvt+QWxrg)k)~S9 z_BLk)qeomWNy0+h+n#uO1dSsS?T=@S#GsC=9D#spO-t!8`W$<+Mb6Mw<&;$T0 CyFmW{ literal 0 HcmV?d00001 diff --git a/WordGen/Resources/arrow_run_16xLG.png b/WordGen/Resources/arrow_run_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..b88c2934d251cc966f772d1e454c36cb56d62411 GIT binary patch literal 347 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 Z900`DGDrg9jKTl_002ovPDHLkV1k0>YaRdq literal 0 HcmV?d00001 diff --git a/WordGen/Resources/unlock_16xLG.png b/WordGen/Resources/unlock_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..c26314097e3203bc162a4ef08263ab0570727655 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJb1b6pf-g(Fz-ls zui?YrJ9f73(y&gTe~DWM4f*8*o= literal 0 HcmV?d00001 diff --git a/WordGen/View/LocalizationString/Messages.en.resx b/WordGen/View/LocalizationString/Messages.en.resx new file mode 100644 index 0000000..fc3da75 --- /dev/null +++ b/WordGen/View/LocalizationString/Messages.en.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + (EN) Voulez-vous vraiment supprimer le syllabaire "{0}" de façon permanente ? + + + (EN) Supprimer le syllabaire + + + (EN) Vous avez plusieurs syllabaires de sélectionné. Voulez-vous vraiment supprimer ces {0} syllabaires de façon permanente ? + + + (EN) Supprimer plusieurs syllabaires + + + The sillabary is mandatory. + + + The sillabary must contains at least vowels, consonants or sillables. + + + (EN) Choisir automatiquement : Choisit parmis les syllables listés celles qui commencent par une voyelle si la syllable est après une consonne, et inversement. + +Intercaller automatiquement : Intercale une consonne si la syllable est après une voyelle et si elle commence également par une voyelle, et inversement. + +Ne pas adapter : Applique la syllabe sans autres modifications. + + + (EN) Intercaler automatiquement : Intercale une consonne si la syllable est suivit d'une voyelle et si elle finit également par une voyelle, et inversement. + +Ne pas adapter : Applique la sillable sans autres modifications. + + \ No newline at end of file diff --git a/WordGen/View/LocalizationString/Messages.resx b/WordGen/View/LocalizationString/Messages.resx new file mode 100644 index 0000000..2108845 --- /dev/null +++ b/WordGen/View/LocalizationString/Messages.resx @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aucune consonne n'as été trouvée. Ajoutez des consonnes à votre syllabaire, retirez les consonnes de la syntaxe de votre mot (caractère 'c') ou paramétrez votre syllabaire pour ne pas insérer automatiquement une consonne entre une voyelle et une syllabe. + + + Aucune syllabe n'as été trouvée. Ajoutez des syllabe à votre syllabaire ou retirez les syllabes de la syntaxe de votre mot (caractère 's'). + + + Aucune voyelle n'as été trouvée. Ajoutez des voyelles à votre syllabaire, retirez les voyelles de la syntaxe de votre mot (caractère 'v') ou paramétrez votre syllabaire pour ne pas insérer automatiquement une voyelle entre une consonne et une syllabe. + + + Aucune syllabe adaptée n'as été trouvée. Completez le syllabaire avec d'avantages de syllabes ou changez le comportement de celui-ci lors de l'ajout d'une syllabe. + + + La syntaxe de génération ne peux pas être vide. + + + Il dois y avoir au moins 1 mot à générer. + + + La longueur des mots ne peux pas être négatif ou nulle. + + + Aucun syllabaire n'a été créé. Utilisez le bouton "Gérer..." pour créer ou importer un (des) syllabaire(s). + + + Aucun syllabaire n'est sélectionné. + + + + + + s + + + Utilisez les caractères suivants pour composer une syntaxe personnalisée : +٠ 'c' : une consonne au hasard, +٠ 'v' : une voyelle au hasard, +٠ 's' : une syllabe au hasard. + +Par exemple, "cvcvcv" peut composer des mots comme "Figaro", "Tomate". + +Les paramètres du syllabaire et les petites listes de consomne, voyelle et syllabe peuvent provoquer des erreurs de génération. + + + Voulez-vous vraiment supprimer le syllabaire "{0}" de façon permanente ? + + + Supprimer le syllabaire + + + Vous avez plusieurs syllabaires de sélectionné. Voulez-vous vraiment supprimer ces {0} syllabaires de façon permanente ? + + + Supprimer plusieurs syllabaires + + + Le nom du syllabaire est obligatoire. + + + Le syllabaire doit contenir au moins des consonnes, des voyelles où des syllabes. + + + ٠ Choisir automatiquement : Choisit parmis les syllabes listés celles qui commencent par une voyelle si la syllabe est après une consonne, et inversement. +٠ Intercaller automatiquement : Intercale une consonne si la syllabe est après une voyelle et si elle commence également par une voyelle, et inversement. +٠ Ne pas adapter : Applique la syllabe sans autres modifications. + + + Quoi faire avant d'insérer une syllabe ? + + + ٠ Intercaler automatiquement : Intercale une consonne si la syllabe est suivit d'une voyelle et si elle finit également par une voyelle, et inversement. +٠ Ne pas adapter : Applique la sillabe sans autres modifications. + + + Quoi faire après avoir inséré une syllabe ? + + + La probabilité qu'un mot commence par une voyelle ne peux être négative ou supérieur à 100%. + + + La probabilité qu'un caractère soit une syllabe ne peux être négative ou supérieur à 100%. + + + Définit la probabilité (en pourcent) qu'un mot soit généré en commençant par une syllabe. Plus la valeur est élevée, plus la probabilité est forte. + + + Définit la probabilité (en pourcent) qu'un mot soit généré en commençant par une voyelle. +٠ À 0%, les mots commenceront par une consonne. +٠ À 100%, les mots commenceront par une voyelles. + + + Définit la probabilité (en pourcent) qu'un mot contienne des syllabes plutôt que des consonnes et des voyelles. +٠ À 0%, les mots ne contiendrons pas de syllabes. +٠ À 100%, les mots ne contiendrons que des syllabes. + + + syllabe{0} environ. + + + Une exception n'as pas permis de générer entièrement le mot. + + + Détail du mot + + \ No newline at end of file diff --git a/WordGen/View/LocalizationString/Messages1.Designer.cs b/WordGen/View/LocalizationString/Messages1.Designer.cs new file mode 100644 index 0000000..cfdab7f --- /dev/null +++ b/WordGen/View/LocalizationString/Messages1.Designer.cs @@ -0,0 +1,347 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace WordGen.View.LocalizationString { + using System; + + + ///

+ /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Messages { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Messages() { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WordGen.View.LocalizationString.Messages", typeof(Messages).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Recherche une chaîne localisée semblable à Aucune consonne n'as été trouvée. Ajoutez des consonnes à votre syllabaire, retirez les consonnes de la syntaxe de votre mot (caractère 'c') ou paramétrez votre syllabaire pour ne pas insérer automatiquement une consonne entre une voyelle et une syllabe.. + /// + public static string GeneratorError_EmptyConsonnantListException { + get { + return ResourceManager.GetString("GeneratorError_EmptyConsonnantListException", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Aucune syllabe n'as été trouvée. Ajoutez des syllabe à votre syllabaire ou retirez les syllabes de la syntaxe de votre mot (caractère 's').. + /// + public static string GeneratorError_EmptySyllableListException { + get { + return ResourceManager.GetString("GeneratorError_EmptySyllableListException", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Aucune voyelle n'as été trouvée. Ajoutez des voyelles à votre syllabaire, retirez les voyelles de la syntaxe de votre mot (caractère 'v') ou paramétrez votre syllabaire pour ne pas insérer automatiquement une voyelle entre une consonne et une syllabe.. + /// + public static string GeneratorError_EmptyVowelListException { + get { + return ResourceManager.GetString("GeneratorError_EmptyVowelListException", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Une exception n'as pas permis de générer entièrement le mot.. + /// + public static string GeneratorError_GenericGeneratorException { + get { + return ResourceManager.GetString("GeneratorError_GenericGeneratorException", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Aucune syllabe adaptée n'as été trouvée. Completez le syllabaire avec d'avantages de syllabes ou changez le comportement de celui-ci lors de l'ajout d'une syllabe.. + /// + public static string GeneratorError_NoBeforeSyllableMatchException { + get { + return ResourceManager.GetString("GeneratorError_NoBeforeSyllableMatchException", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à La syntaxe de génération ne peux pas être vide.. + /// + public static string MainForm_ErrorEmptySyntaxe { + get { + return ResourceManager.GetString("MainForm_ErrorEmptySyntaxe", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à La probabilité qu'un mot commence par une voyelle ne peux être négative ou supérieur à 100%.. + /// + public static string MainForm_ErrorInvalidBeginVowelPercent { + get { + return ResourceManager.GetString("MainForm_ErrorInvalidBeginVowelPercent", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Il dois y avoir au moins 1 mot à générer.. + /// + public static string MainForm_ErrorInvalideNbWords { + get { + return ResourceManager.GetString("MainForm_ErrorInvalideNbWords", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à La longueur des mots ne peux pas être négatif ou nulle.. + /// + public static string MainForm_ErrorInvalideWordLenght { + get { + return ResourceManager.GetString("MainForm_ErrorInvalideWordLenght", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à La probabilité qu'un caractère soit une syllabe ne peux être négative ou supérieur à 100%.. + /// + public static string MainForm_ErrorInvalidSyllablePercent { + get { + return ResourceManager.GetString("MainForm_ErrorInvalidSyllablePercent", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Aucun syllabaire n'a été créé. Utilisez le bouton "Gérer..." pour créer ou importer un (des) syllabaire(s).. + /// + public static string MainForm_ErrorNoSyllabaryAvailable { + get { + return ResourceManager.GetString("MainForm_ErrorNoSyllabaryAvailable", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Aucun syllabaire n'est sélectionné.. + /// + public static string MainForm_ErrorNoSyllabarySelected { + get { + return ResourceManager.GetString("MainForm_ErrorNoSyllabarySelected", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Définit la probabilité (en pourcent) qu'un mot soit généré en commençant par une syllabe. Plus la valeur est élevée, plus la probabilité est forte.. + /// + public static string MainForm_HelpBeginSyllabaryPercent { + get { + return ResourceManager.GetString("MainForm_HelpBeginSyllabaryPercent", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Définit la probabilité (en pourcent) qu'un mot soit généré en commençant par une voyelle. + ///٠ À 0%, les mots commenceront par une consonne. + ///٠ À 100%, les mots commenceront par une voyelles.. + /// + public static string MainForm_HelpBeginVowelPercent { + get { + return ResourceManager.GetString("MainForm_HelpBeginVowelPercent", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Utilisez les caractères suivants pour composer une syntaxe personnalisée : + ///٠ 'c' : une consonne au hasard, + ///٠ 'v' : une voyelle au hasard, + ///٠ 's' : une syllabe au hasard. + /// + ///Par exemple, "cvcvcv" peut composer des mots comme "Figaro", "Tomate". + /// + ///Les paramètres du syllabaire et les petites listes de consomne, voyelle et syllabe peuvent provoquer des erreurs de génération.. + /// + public static string MainForm_HelpCustomSyntax { + get { + return ResourceManager.GetString("MainForm_HelpCustomSyntax", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Définit la probabilité (en pourcent) qu'un mot contienne des syllabes plutôt que des consonnes et des voyelles. + ///٠ À 0%, les mots ne contiendrons pas de syllabes. + ///٠ À 100%, les mots ne contiendrons que des syllabes.. + /// + public static string MainForm_HelpSyllablePercent { + get { + return ResourceManager.GetString("MainForm_HelpSyllablePercent", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à s. + /// + public static string MainForm_LabelCharPlural { + get { + return ResourceManager.GetString("MainForm_LabelCharPlural", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à . + /// + public static string MainForm_LabelCharSingular { + get { + return ResourceManager.GetString("MainForm_LabelCharSingular", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à syllabe{0} environ.. + /// + public static string MainForm_LabelwordLength { + get { + return ResourceManager.GetString("MainForm_LabelwordLength", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Voulez-vous vraiment supprimer le syllabaire "{0}" de façon permanente ?. + /// + public static string ManageSyllabaireForm_ConfirmDelete1Item { + get { + return ResourceManager.GetString("ManageSyllabaireForm_ConfirmDelete1Item", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Supprimer le syllabaire. + /// + public static string ManageSyllabaireForm_ConfirmDelete1ItemTitle { + get { + return ResourceManager.GetString("ManageSyllabaireForm_ConfirmDelete1ItemTitle", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Vous avez plusieurs syllabaires de sélectionné. Voulez-vous vraiment supprimer ces {0} syllabaires de façon permanente ?. + /// + public static string ManageSyllabaireForm_ConfirmDeleteManyItems { + get { + return ResourceManager.GetString("ManageSyllabaireForm_ConfirmDeleteManyItems", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Supprimer plusieurs syllabaires. + /// + public static string ManageSyllabaireForm_ConfirmDeleteManyItemsTitle { + get { + return ResourceManager.GetString("ManageSyllabaireForm_ConfirmDeleteManyItemsTitle", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Détail du mot. + /// + public static string ResultForm_InformationTitle { + get { + return ResourceManager.GetString("ResultForm_InformationTitle", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Le nom du syllabaire est obligatoire.. + /// + public static string SyllabaireForm_ErrorNoName { + get { + return ResourceManager.GetString("SyllabaireForm_ErrorNoName", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Le syllabaire doit contenir au moins des consonnes, des voyelles où des syllabes.. + /// + public static string SyllabaireForm_ErrorNoUseElements { + get { + return ResourceManager.GetString("SyllabaireForm_ErrorNoUseElements", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à ٠ Choisir automatiquement : Choisit parmis les syllabes listés celles qui commencent par une voyelle si la syllabe est après une consonne, et inversement. + ///٠ Intercaller automatiquement : Intercale une consonne si la syllabe est après une voyelle et si elle commence également par une voyelle, et inversement. + ///٠ Ne pas adapter : Applique la syllabe sans autres modifications.. + /// + public static string SyllabaireForm_HelpBeginSyllable { + get { + return ResourceManager.GetString("SyllabaireForm_HelpBeginSyllable", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Quoi faire avant d'insérer une syllabe ?. + /// + public static string SyllabaireForm_HelpBeginSyllableTitle { + get { + return ResourceManager.GetString("SyllabaireForm_HelpBeginSyllableTitle", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à ٠ Intercaler automatiquement : Intercale une consonne si la syllabe est suivit d'une voyelle et si elle finit également par une voyelle, et inversement. + ///٠ Ne pas adapter : Applique la sillabe sans autres modifications.. + /// + public static string SyllabaireForm_HelpEndSyllable { + get { + return ResourceManager.GetString("SyllabaireForm_HelpEndSyllable", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Quoi faire après avoir inséré une syllabe ?. + /// + public static string SyllabaireForm_HelpEndSyllableTitle { + get { + return ResourceManager.GetString("SyllabaireForm_HelpEndSyllableTitle", resourceCulture); + } + } + } +} diff --git a/WordGen/View/MainForm.cs b/WordGen/View/MainForm.cs new file mode 100644 index 0000000..df6a872 --- /dev/null +++ b/WordGen/View/MainForm.cs @@ -0,0 +1,200 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WordGen.Model; +using WordGen.Model.Exceptions; +using WordGen.View; +using WordGen.View.LocalizationString; + +namespace WordGen.View { + public partial class MainForm : Form { + + private ResultForm _rf; + + public MainForm() { + InitializeComponent(); + reloadDD(); + } + + private void reloadDD() { + DDsyllbary.Items.Clear(); + foreach (Syllabary item in SyllabaryWrapper.GetAll()) { + DDsyllbary.Items.Add(item.title); + } + } + + private bool validateForm() { + var everythingOK = true; + if (SyllabaryWrapper.count() == 0) { + everythingOK = false; + EPmain.SetError(DDsyllbary, Messages.MainForm_ErrorNoSyllabaryAvailable); + } + if (DDsyllbary.SelectedItem == null) { + everythingOK = false; + EPmain.SetError(DDsyllbary, Messages.MainForm_ErrorNoSyllabarySelected); + } + + if (RBwordsLenght.Checked) { + // nombre de caractères forcément positif + if (NUPwordsLenght.Value < 1) { + everythingOK = false; + EPmain.SetError(LnbChars, Messages.MainForm_ErrorInvalideWordLenght); + } + // nombre de voyelle forcément en %. + if (NUPvowelPercent.Value > 100 || NUPvowelPercent.Value < 0) { + everythingOK = false; + EPmain.SetError(NUPvowelPercent, Messages.MainForm_ErrorInvalidBeginVowelPercent); + } + // nombre de syllabe forcément en %. + if (CBincludeSyllab.Checked && (NUPsyllablePercent.Value > 100 || NUPsyllablePercent.Value < 0)) { + everythingOK = false; + EPmain.SetError(NUPsyllablePercent, Messages.MainForm_ErrorInvalidSyllablePercent); + } + + } + + if (RBcustom.Checked) { + if (String.IsNullOrEmpty(TBwordStructure.Text.Trim())) { + everythingOK = false; + EPmain.SetError(TBwordStructure, Messages.MainForm_ErrorEmptySyntaxe); + } + // others ifs + + } + + if (NUPnbWords.Value <= 0) { + everythingOK = false; + EPmain.SetError(NUPnbWords, Messages.MainForm_ErrorInvalideNbWords); + } + return everythingOK; + } + + private void BchooseSyllabaire_Click(object sender, EventArgs e) { + ManageSyllabaryForm mySyllabManager = new ManageSyllabaryForm(); + mySyllabManager.ShowDialog(); + reloadDD(); + } + + private void Form1_FormClosing(object sender, FormClosingEventArgs e) { + SyllabaryWrapper.SaveToDrive(); + Properties.Settings.Default.PreviousLocation = this.Location; + Properties.Settings.Default.Save(); + } + + private void Form1_Load(object sender, EventArgs e) { + // Screen Location + var nullPoint = new System.Drawing.Point(0, 0); + if (Properties.Settings.Default.PreviousLocation != null && Properties.Settings.Default.PreviousLocation != nullPoint) { + this.Location = Properties.Settings.Default.PreviousLocation; + } + + // Tooltip setup + TThelp.ToolTipTitle = "Aide"; + TThelp.SetToolTip(LsyntaxHelp, Messages.MainForm_HelpCustomSyntax); + TThelp.SetToolTip(LvowelPercent, Messages.MainForm_HelpBeginVowelPercent); + TThelp.SetToolTip(LsyllablePercent, Messages.MainForm_HelpSyllablePercent); + TThelp.SetToolTip(LbeginSyllablePercent, Messages.MainForm_HelpBeginSyllabaryPercent); + + NUPwordsLenght_ValueChanged(sender, e); + } + + private void NUPwordsLenght_ValueChanged(object sender, EventArgs e) { + if (NUPwordsLenght.Value <= 1) { + LnbChars.Text = string.Format(Messages.MainForm_LabelwordLength, Messages.MainForm_LabelCharSingular); + } else { + LnbChars.Text = string.Format(Messages.MainForm_LabelwordLength, Messages.MainForm_LabelCharPlural); + } + EPmain.SetError(LnbChars, string.Empty); + } + + private void BGenerate_Click(object sender, EventArgs e) { + if (!validateForm()) { + return; + } + + if (_rf == null || (_rf != null && !_rf.Visible)) { + _rf = null; + _rf = new ResultForm(); + _rf.Show(); + _rf.Location = new System.Drawing.Point(this.Location.X + this.Size.Width, this.Location.Y); + _rf.isLocked = true; + } + + var selectedSyllab = SyllabaryWrapper.Get((string)DDsyllbary.SelectedItem); + var quantity = NUPnbWords.Value; + + Generator gen; + + + if (RBwordsLenght.Checked) { + var myGenSett = new GeneratorSettings(); + //myGenSett._syllableBeginProba = NUPbeginSyllablePercent.Value; + myGenSett._syllableProba = NUPsyllablePercent.Value; + myGenSett._vowelBeginProba = NUPvowelPercent.Value; + gen = new Generator(selectedSyllab, Convert.ToUInt32(NUPwordsLenght.Value), myGenSett ); + } else { + gen = new Generator(selectedSyllab, TBwordStructure.Text); + } + + try { + Dictionary results = gen.generateWords(quantity); + _rf.setList(results); + } catch (Exception ex) { + _rf.Close(); + _rf = null; + MessageBox.Show(ex.Message, "Erreur : " + ex.GetType(), MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + } + + private void MainForm_Move(object sender, EventArgs e) { + if (_rf != null && _rf.isLocked) { + _rf.Location = new System.Drawing.Point(this.Location.X + this.Size.Width, this.Location.Y); + } + } + + private void MainForm_Resize(object sender, EventArgs e) { + if (_rf != null && _rf.isLocked) { + _rf.Location = new System.Drawing.Point(this.Location.X + this.Size.Width, this.Location.Y); + } + } + + private void RBcustom_CheckedChanged(object sender, EventArgs e) { + TBwordStructure.Enabled = RBcustom.Checked; + LsyntaxHelp.Enabled = RBcustom.Checked; + LquickGuide.Enabled = RBcustom.Checked; + } + + private void RBwordsLenght_CheckedChanged(object sender, EventArgs e) { + CBincludeSyllab.Enabled = RBwordsLenght.Checked; + NUPwordsLenght.Enabled = RBwordsLenght.Checked; + LnbChars.Enabled = RBwordsLenght.Checked; + } + + private void DDSyllabaire_SelectedIndexChanged(object sender, EventArgs e) { + EPmain.SetError(DDsyllbary, String.Empty); + } + + private void TBwordStructure_TextChanged(object sender, EventArgs e) { + EPmain.SetError(TBwordStructure, string.Empty); + } + + private void NUPNbWords_ValueChanged(object sender, EventArgs e) { + EPmain.SetError(NUPnbWords, string.Empty); + } + + private void CBincludeSyllab_CheckedChanged(object sender, EventArgs e) { + LsyllablePercent.Enabled = CBincludeSyllab.Checked; + NUPsyllablePercent.Enabled = CBincludeSyllab.Checked; + CBallowBeginSyllable.Enabled = CBincludeSyllab.Checked; + LbeginSyllablePercent.Enabled = (CBincludeSyllab.Checked && CBallowBeginSyllable.Checked); + NUPbeginSyllablePercent.Enabled = (CBincludeSyllab.Checked && CBallowBeginSyllable.Checked); + } + + private void CBallowBeginSyllable_CheckedChanged(object sender, EventArgs e) { + LbeginSyllablePercent.Enabled = (CBincludeSyllab.Checked && CBallowBeginSyllable.Checked); + NUPbeginSyllablePercent.Enabled = (CBincludeSyllab.Checked && CBallowBeginSyllable.Checked); + } + } +} diff --git a/WordGen/View/MainForm.designer.cs b/WordGen/View/MainForm.designer.cs new file mode 100644 index 0000000..c37f624 --- /dev/null +++ b/WordGen/View/MainForm.designer.cs @@ -0,0 +1,490 @@ +namespace WordGen.View +{ + partial class MainForm + { + /// + /// Variable nécessaire au concepteur. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Nettoyage des ressources utilisées. + /// + /// true si les ressources managées doivent être supprimées ; sinon, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Code généré par le Concepteur Windows Form + + /// + /// Méthode requise pour la prise en charge du concepteur - ne modifiez pas + /// le contenu de cette méthode avec l'éditeur de code. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.DDsyllbary = new System.Windows.Forms.ComboBox(); + this.Lsyllabaire = new System.Windows.Forms.Label(); + this.RBwordsLenght = new System.Windows.Forms.RadioButton(); + this.NUPwordsLenght = new System.Windows.Forms.NumericUpDown(); + this.RBcustom = new System.Windows.Forms.RadioButton(); + this.TBwordStructure = new System.Windows.Forms.TextBox(); + this.PCommand = new System.Windows.Forms.Panel(); + this.NUPnbWords = new System.Windows.Forms.NumericUpDown(); + this.LnbWords = new System.Windows.Forms.Label(); + this.Bgenerate = new System.Windows.Forms.Button(); + this.BchooseSyllabaire = new System.Windows.Forms.Button(); + this.GBsyntax = new System.Windows.Forms.GroupBox(); + this.LquickGuide = new System.Windows.Forms.Label(); + this.LsyntaxHelp = new System.Windows.Forms.Label(); + this.GBlenght = new System.Windows.Forms.GroupBox(); + this.LnbChars = new System.Windows.Forms.Label(); + this.LvowelPercent = new System.Windows.Forms.Label(); + this.NUPvowelPercent = new System.Windows.Forms.NumericUpDown(); + this.CBincludeSyllab = new System.Windows.Forms.CheckBox(); + this.LsyllablePercent = new System.Windows.Forms.Label(); + this.NUPsyllablePercent = new System.Windows.Forms.NumericUpDown(); + this.CBallowBeginSyllable = new System.Windows.Forms.CheckBox(); + this.LbeginSyllablePercent = new System.Windows.Forms.Label(); + this.NUPbeginSyllablePercent = new System.Windows.Forms.NumericUpDown(); + this.TThelp = new System.Windows.Forms.ToolTip(this.components); + this.BSsyllabary = new System.Windows.Forms.BindingSource(this.components); + this.EPmain = new System.Windows.Forms.ErrorProvider(this.components); + ((System.ComponentModel.ISupportInitialize)(this.NUPwordsLenght)).BeginInit(); + this.PCommand.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUPnbWords)).BeginInit(); + this.GBsyntax.SuspendLayout(); + this.GBlenght.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUPvowelPercent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUPsyllablePercent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUPbeginSyllablePercent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.BSsyllabary)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.EPmain)).BeginInit(); + this.SuspendLayout(); + // + // DDsyllbary + // + this.DDsyllbary.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DDsyllbary.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; + this.DDsyllbary.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; + this.DDsyllbary.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.DDsyllbary.FormattingEnabled = true; + this.DDsyllbary.Location = new System.Drawing.Point(74, 12); + this.DDsyllbary.Name = "DDsyllbary"; + this.DDsyllbary.Size = new System.Drawing.Size(207, 21); + this.DDsyllbary.TabIndex = 1; + this.DDsyllbary.SelectedIndexChanged += new System.EventHandler(this.DDSyllabaire_SelectedIndexChanged); + // + // Lsyllabaire + // + this.Lsyllabaire.AutoSize = true; + this.Lsyllabaire.Location = new System.Drawing.Point(12, 15); + this.Lsyllabaire.Name = "Lsyllabaire"; + this.Lsyllabaire.Size = new System.Drawing.Size(56, 13); + this.Lsyllabaire.TabIndex = 0; + this.Lsyllabaire.Text = "Syllabaire"; + // + // RBwordsLenght + // + this.RBwordsLenght.AutoSize = true; + this.RBwordsLenght.Checked = true; + this.RBwordsLenght.Location = new System.Drawing.Point(16, 37); + this.RBwordsLenght.Name = "RBwordsLenght"; + this.RBwordsLenght.Size = new System.Drawing.Size(124, 17); + this.RBwordsLenght.TabIndex = 3; + this.RBwordsLenght.TabStop = true; + this.RBwordsLenght.Text = "Longueur des mots"; + this.RBwordsLenght.UseVisualStyleBackColor = true; + this.RBwordsLenght.CheckedChanged += new System.EventHandler(this.RBwordsLenght_CheckedChanged); + // + // NUPwordsLenght + // + this.NUPwordsLenght.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.NUPwordsLenght.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.NUPwordsLenght.Location = new System.Drawing.Point(6, 21); + this.NUPwordsLenght.Maximum = new decimal(new int[] { + 50, + 0, + 0, + 0}); + this.NUPwordsLenght.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUPwordsLenght.Name = "NUPwordsLenght"; + this.NUPwordsLenght.Size = new System.Drawing.Size(47, 22); + this.NUPwordsLenght.TabIndex = 0; + this.NUPwordsLenght.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.NUPwordsLenght.Value = new decimal(new int[] { + 3, + 0, + 0, + 0}); + this.NUPwordsLenght.ValueChanged += new System.EventHandler(this.NUPwordsLenght_ValueChanged); + // + // RBcustom + // + this.RBcustom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.RBcustom.AutoSize = true; + this.RBcustom.Location = new System.Drawing.Point(16, 224); + this.RBcustom.Name = "RBcustom"; + this.RBcustom.Size = new System.Drawing.Size(139, 17); + this.RBcustom.TabIndex = 5; + this.RBcustom.TabStop = true; + this.RBcustom.Text = "Syntaxe personnalisée"; + this.RBcustom.UseVisualStyleBackColor = true; + this.RBcustom.CheckedChanged += new System.EventHandler(this.RBcustom_CheckedChanged); + // + // TBwordStructure + // + this.TBwordStructure.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TBwordStructure.Enabled = false; + this.TBwordStructure.Location = new System.Drawing.Point(6, 21); + this.TBwordStructure.Name = "TBwordStructure"; + this.TBwordStructure.Size = new System.Drawing.Size(352, 22); + this.TBwordStructure.TabIndex = 1; + this.TBwordStructure.TextChanged += new System.EventHandler(this.TBwordStructure_TextChanged); + // + // PCommand + // + this.PCommand.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.PCommand.Controls.Add(this.NUPnbWords); + this.PCommand.Controls.Add(this.LnbWords); + this.PCommand.Controls.Add(this.Bgenerate); + this.PCommand.Dock = System.Windows.Forms.DockStyle.Bottom; + this.PCommand.Location = new System.Drawing.Point(0, 354); + this.PCommand.Name = "PCommand"; + this.PCommand.Size = new System.Drawing.Size(412, 48); + this.PCommand.TabIndex = 7; + // + // NUPnbWords + // + this.NUPnbWords.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.NUPnbWords.Increment = new decimal(new int[] { + 5, + 0, + 0, + 0}); + this.NUPnbWords.Location = new System.Drawing.Point(197, 14); + this.NUPnbWords.Maximum = new decimal(new int[] { + 1000, + 0, + 0, + 0}); + this.NUPnbWords.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NUPnbWords.Name = "NUPnbWords"; + this.NUPnbWords.Size = new System.Drawing.Size(109, 22); + this.NUPnbWords.TabIndex = 1; + this.NUPnbWords.ThousandsSeparator = true; + this.NUPnbWords.Value = new decimal(new int[] { + 50, + 0, + 0, + 0}); + this.NUPnbWords.ValueChanged += new System.EventHandler(this.NUPNbWords_ValueChanged); + // + // LnbWords + // + this.LnbWords.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.LnbWords.AutoSize = true; + this.LnbWords.Location = new System.Drawing.Point(9, 15); + this.LnbWords.Name = "LnbWords"; + this.LnbWords.Size = new System.Drawing.Size(97, 13); + this.LnbWords.TabIndex = 0; + this.LnbWords.Text = "Nombres de mots"; + // + // Bgenerate + // + this.Bgenerate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.Bgenerate.Image = global::WordGen.Properties.Resources.arrow_run_16xLG; + this.Bgenerate.Location = new System.Drawing.Point(312, 13); + this.Bgenerate.Name = "Bgenerate"; + this.Bgenerate.Size = new System.Drawing.Size(88, 23); + this.Bgenerate.TabIndex = 2; + this.Bgenerate.Text = "Générer"; + this.Bgenerate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.Bgenerate.UseVisualStyleBackColor = true; + this.Bgenerate.Click += new System.EventHandler(this.BGenerate_Click); + // + // BchooseSyllabaire + // + this.BchooseSyllabaire.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.BchooseSyllabaire.Image = global::WordGen.Properties.Resources.gear_16xLG; + this.BchooseSyllabaire.Location = new System.Drawing.Point(312, 11); + this.BchooseSyllabaire.Name = "BchooseSyllabaire"; + this.BchooseSyllabaire.Size = new System.Drawing.Size(88, 23); + this.BchooseSyllabaire.TabIndex = 2; + this.BchooseSyllabaire.Text = "Gérer..."; + this.BchooseSyllabaire.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.BchooseSyllabaire.UseVisualStyleBackColor = true; + this.BchooseSyllabaire.Click += new System.EventHandler(this.BchooseSyllabaire_Click); + // + // GBsyntax + // + this.GBsyntax.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.GBsyntax.Controls.Add(this.LquickGuide); + this.GBsyntax.Controls.Add(this.LsyntaxHelp); + this.GBsyntax.Controls.Add(this.TBwordStructure); + this.GBsyntax.Location = new System.Drawing.Point(12, 226); + this.GBsyntax.Name = "GBsyntax"; + this.GBsyntax.Size = new System.Drawing.Size(388, 122); + this.GBsyntax.TabIndex = 6; + this.GBsyntax.TabStop = false; + // + // LquickGuide + // + this.LquickGuide.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.LquickGuide.Enabled = false; + this.LquickGuide.Location = new System.Drawing.Point(6, 46); + this.LquickGuide.Name = "LquickGuide"; + this.LquickGuide.Size = new System.Drawing.Size(376, 73); + this.LquickGuide.TabIndex = 2; + this.LquickGuide.Text = "Utilisez les caractères suivants pour composer une syntaxe personnalisée :\r\n٠ \'c" + + "\' : une consonne au hasard, \r\n٠ \'v\' : une voyelle au hasard, \r\n٠ \'s\' : une syl" + + "labe au hasard.\r\n"; + // + // LsyntaxHelp + // + this.LsyntaxHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.LsyntaxHelp.Enabled = false; + this.LsyntaxHelp.Image = global::WordGen.Properties.Resources.StatusAnnotations_Help_and_inconclusive_16xLG_color; + this.LsyntaxHelp.Location = new System.Drawing.Point(366, 0); + this.LsyntaxHelp.Name = "LsyntaxHelp"; + this.LsyntaxHelp.Size = new System.Drawing.Size(16, 16); + this.LsyntaxHelp.TabIndex = 0; + // + // GBlenght + // + this.GBlenght.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.GBlenght.Controls.Add(this.NUPwordsLenght); + this.GBlenght.Controls.Add(this.LnbChars); + this.GBlenght.Controls.Add(this.LvowelPercent); + this.GBlenght.Controls.Add(this.NUPvowelPercent); + this.GBlenght.Controls.Add(this.CBincludeSyllab); + this.GBlenght.Controls.Add(this.LsyllablePercent); + this.GBlenght.Controls.Add(this.NUPsyllablePercent); + this.GBlenght.Controls.Add(this.CBallowBeginSyllable); + this.GBlenght.Controls.Add(this.LbeginSyllablePercent); + this.GBlenght.Controls.Add(this.NUPbeginSyllablePercent); + this.GBlenght.Location = new System.Drawing.Point(12, 39); + this.GBlenght.Name = "GBlenght"; + this.GBlenght.Size = new System.Drawing.Size(388, 181); + this.GBlenght.TabIndex = 4; + this.GBlenght.TabStop = false; + // + // LnbChars + // + this.LnbChars.AutoSize = true; + this.LnbChars.Location = new System.Drawing.Point(59, 23); + this.LnbChars.Name = "LnbChars"; + this.LnbChars.Size = new System.Drawing.Size(87, 13); + this.LnbChars.TabIndex = 1; + this.LnbChars.Text = "syllabe environ."; + // + // LvowelPercent + // + this.LvowelPercent.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.LvowelPercent.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.LvowelPercent.Image = global::WordGen.Properties.Resources.StatusAnnotations_Help_and_inconclusive_16xLG_color; + this.LvowelPercent.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.LvowelPercent.Location = new System.Drawing.Point(5, 48); + this.LvowelPercent.Name = "LvowelPercent"; + this.LvowelPercent.Size = new System.Drawing.Size(290, 16); + this.LvowelPercent.TabIndex = 5; + this.LvowelPercent.Text = "Probabilité de commencer par une voyelle (%)"; + this.LvowelPercent.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // NUPvowelPercent + // + this.NUPvowelPercent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.NUPvowelPercent.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.NUPvowelPercent.Location = new System.Drawing.Point(301, 48); + this.NUPvowelPercent.Name = "NUPvowelPercent"; + this.NUPvowelPercent.Size = new System.Drawing.Size(61, 22); + this.NUPvowelPercent.TabIndex = 6; + this.NUPvowelPercent.Value = new decimal(new int[] { + 25, + 0, + 0, + 0}); + // + // CBincludeSyllab + // + this.CBincludeSyllab.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.CBincludeSyllab.Location = new System.Drawing.Point(6, 76); + this.CBincludeSyllab.Name = "CBincludeSyllab"; + this.CBincludeSyllab.Size = new System.Drawing.Size(272, 17); + this.CBincludeSyllab.TabIndex = 2; + this.CBincludeSyllab.Text = "Inclure des syllabes dans la composition du mot"; + this.CBincludeSyllab.UseVisualStyleBackColor = true; + this.CBincludeSyllab.CheckedChanged += new System.EventHandler(this.CBincludeSyllab_CheckedChanged); + // + // LsyllablePercent + // + this.LsyllablePercent.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.LsyllablePercent.Enabled = false; + this.LsyllablePercent.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.LsyllablePercent.Image = global::WordGen.Properties.Resources.StatusAnnotations_Help_and_inconclusive_16xLG_color; + this.LsyllablePercent.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.LsyllablePercent.Location = new System.Drawing.Point(25, 96); + this.LsyllablePercent.Name = "LsyllablePercent"; + this.LsyllablePercent.Size = new System.Drawing.Size(270, 16); + this.LsyllablePercent.TabIndex = 4; + this.LsyllablePercent.Text = "Probabilité (%)"; + this.LsyllablePercent.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // NUPsyllablePercent + // + this.NUPsyllablePercent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.NUPsyllablePercent.Enabled = false; + this.NUPsyllablePercent.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.NUPsyllablePercent.Location = new System.Drawing.Point(301, 96); + this.NUPsyllablePercent.Name = "NUPsyllablePercent"; + this.NUPsyllablePercent.Size = new System.Drawing.Size(61, 22); + this.NUPsyllablePercent.TabIndex = 3; + // + // CBallowBeginSyllable + // + this.CBallowBeginSyllable.AutoSize = true; + this.CBallowBeginSyllable.Enabled = false; + this.CBallowBeginSyllable.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0))))); + this.CBallowBeginSyllable.Location = new System.Drawing.Point(28, 124); + this.CBallowBeginSyllable.Name = "CBallowBeginSyllable"; + this.CBallowBeginSyllable.Size = new System.Drawing.Size(269, 17); + this.CBallowBeginSyllable.TabIndex = 7; + this.CBallowBeginSyllable.Text = "Autoriser que le mot commence par une syllabe"; + this.CBallowBeginSyllable.UseVisualStyleBackColor = true; + this.CBallowBeginSyllable.CheckedChanged += new System.EventHandler(this.CBallowBeginSyllable_CheckedChanged); + // + // LbeginSyllablePercent + // + this.LbeginSyllablePercent.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.LbeginSyllablePercent.Enabled = false; + this.LbeginSyllablePercent.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0))))); + this.LbeginSyllablePercent.Image = global::WordGen.Properties.Resources.StatusAnnotations_Help_and_inconclusive_16xLG_color; + this.LbeginSyllablePercent.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.LbeginSyllablePercent.Location = new System.Drawing.Point(45, 144); + this.LbeginSyllablePercent.Name = "LbeginSyllablePercent"; + this.LbeginSyllablePercent.Size = new System.Drawing.Size(250, 16); + this.LbeginSyllablePercent.TabIndex = 8; + this.LbeginSyllablePercent.Text = "Probabilité (%)"; + this.LbeginSyllablePercent.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // NUPbeginSyllablePercent + // + this.NUPbeginSyllablePercent.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.NUPbeginSyllablePercent.Enabled = false; + this.NUPbeginSyllablePercent.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(64)))), ((int)(((byte)(0))))); + this.NUPbeginSyllablePercent.Location = new System.Drawing.Point(301, 144); + this.NUPbeginSyllablePercent.Name = "NUPbeginSyllablePercent"; + this.NUPbeginSyllablePercent.Size = new System.Drawing.Size(61, 22); + this.NUPbeginSyllablePercent.TabIndex = 3; + // + // TThelp + // + this.TThelp.AutoPopDelay = 60000; + this.TThelp.InitialDelay = 500; + this.TThelp.ReshowDelay = 100; + this.TThelp.ShowAlways = true; + this.TThelp.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info; + // + // EPmain + // + this.EPmain.ContainerControl = this; + this.EPmain.Icon = ((System.Drawing.Icon)(resources.GetObject("EPmain.Icon"))); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(412, 402); + this.Controls.Add(this.RBwordsLenght); + this.Controls.Add(this.RBcustom); + this.Controls.Add(this.GBlenght); + this.Controls.Add(this.GBsyntax); + this.Controls.Add(this.PCommand); + this.Controls.Add(this.BchooseSyllabaire); + this.Controls.Add(this.Lsyllabaire); + this.Controls.Add(this.DDsyllbary); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimumSize = new System.Drawing.Size(389, 376); + this.Name = "MainForm"; + this.Text = "Générateur de mots"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); + this.Load += new System.EventHandler(this.Form1_Load); + this.Move += new System.EventHandler(this.MainForm_Move); + this.Resize += new System.EventHandler(this.MainForm_Resize); + ((System.ComponentModel.ISupportInitialize)(this.NUPwordsLenght)).EndInit(); + this.PCommand.ResumeLayout(false); + this.PCommand.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUPnbWords)).EndInit(); + this.GBsyntax.ResumeLayout(false); + this.GBsyntax.PerformLayout(); + this.GBlenght.ResumeLayout(false); + this.GBlenght.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.NUPvowelPercent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUPsyllablePercent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NUPbeginSyllablePercent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.BSsyllabary)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.EPmain)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ComboBox DDsyllbary; + private System.Windows.Forms.Label Lsyllabaire; + private System.Windows.Forms.Button BchooseSyllabaire; + private System.Windows.Forms.RadioButton RBwordsLenght; + private System.Windows.Forms.NumericUpDown NUPwordsLenght; + private System.Windows.Forms.RadioButton RBcustom; + private System.Windows.Forms.TextBox TBwordStructure; + private System.Windows.Forms.Button Bgenerate; + private System.Windows.Forms.Panel PCommand; + private System.Windows.Forms.NumericUpDown NUPnbWords; + private System.Windows.Forms.Label LnbWords; + private System.Windows.Forms.GroupBox GBsyntax; + private System.Windows.Forms.GroupBox GBlenght; + private System.Windows.Forms.ToolTip TThelp; + private System.Windows.Forms.Label LsyntaxHelp; + private System.Windows.Forms.Label LnbChars; + private System.Windows.Forms.BindingSource BSsyllabary; + private System.Windows.Forms.CheckBox CBincludeSyllab; + private System.Windows.Forms.ErrorProvider EPmain; + private System.Windows.Forms.Label LquickGuide; + private System.Windows.Forms.Label LsyllablePercent; + private System.Windows.Forms.NumericUpDown NUPsyllablePercent; + private System.Windows.Forms.Label LvowelPercent; + private System.Windows.Forms.NumericUpDown NUPvowelPercent; + private System.Windows.Forms.CheckBox CBallowBeginSyllable; + private System.Windows.Forms.Label LbeginSyllablePercent; + private System.Windows.Forms.NumericUpDown NUPbeginSyllablePercent; + } +} + diff --git a/WordGen/View/MainForm.resx b/WordGen/View/MainForm.resx new file mode 100644 index 0000000..6db299d --- /dev/null +++ b/WordGen/View/MainForm.resx @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 105, 17 + + + 283, 17 + + + + + AAABAAIAEBAAAAAAIABoBAAAJgAAACAgAAAAACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAEAE + AAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af///wH///8B9vb2Tfb29uP29vbj9vb2Tf// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH29vYR9vb2n9/f3/9vb2//b29v/9/f + 3//29vaf9vb2Ef///wH///8B////Af///wH///8B////Af///wH29vZN9vb246qqqv9SUlL/ZWVl/2Vl + Zf9SUlL/qqqq//b29uP29vZN////Af///wH///8B////Afb29hH29vaf39/f/29vb/9tbW3/29na/5mY + mf+ZmJn/29na/21tbf9vb2//39/f//b29p/29vYR////Af///wH29vbjqqqq/1JSUv+npqb/8e/w//Hv + 8P+ZmJn/mZiZ//Hv8P/x7/D/p6am/1JSUv+qqqr/9vb24////wH///8B9vb2/0JCQv/b2dr/8e/w//Hv + 8P/x7/D/mZiZ/5mYmf/x7/D/8e/w//Hv8P/b2dr/QkJC//b29v////8B////Afb29v9CQkL/8e/w//Hv + 8P/x7/D/8e/w/5aVlv+WlZb/8e/w//Hv8P/x7/D/8e/w/0JCQv/29vb/////Af///wH29vb/QkJC//Hv + 8P/x7/D/7uzt/5mYmf9lZWX/ZWVl/5mYmf/u7O3/8e/w//Hv8P9CQkL/9vb2/////wH///8B9vb2/0JC + Qv/x7/D/0M7P/2VlZf+ZmJn/7uzt/+7s7f+ZmJn/ZWVl/9DOz//x7/D/QkJC//b29v////8B////Afb2 + 9v9CQkL/mZiZ/2VlZf/Qzs//8e/w//Hv8P/x7/D/8e/w/9DOz/9lZWX/mZiZ/0JCQv/29vb/////Af// + /wH29vb/QkJC/4aFhv/u7O3/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/7uzt/4aFhv9CQkL/9vb2//// + /wH///8B9vb246qqqv9SUlL/p6am//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/6empv9SUlL/qqqq//b2 + 9uP///8B////Afb29hH29vaf39/f/29vb/9tbW3/29na//Hv8P/x7/D/29na/21tbf9vb2//39/f//b2 + 9p/29vYR////Af///wH///8B////Afb29k329vbjqqqq/1JSUv+npqb/p6am/1JSUv+qqqr/9vb24/b2 + 9k3///8B////Af///wH///8B////Af///wH///8B9vb2Efb29p/f39//b29v/29vb//f39//9vb2n/b2 + 9hH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B9vb2Tfb29uP29vbj9vb2Tf// + /wH///8B////Af///wH///8B////AQAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8oAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAA + AAAAAAAA////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Afb2 + 9hH29vaP9vb2//b29v/29vaP9vb2Ef///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH29vZB9vb23/b29v/29vb/9vb2//b29v/29vbf9vb2Qf///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH29vYR9vb2j/b29v/29vb/1NTU/2RkZP9kZGT/1NTU//b29v/29vb/9vb2j/b29hH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B9vb2Qfb29t/29vb/9vb2/5ycnP9CQkL/QkJC/0JCQv9CQkL/nJyc//b29v/29vb/9vb23/b2 + 9kH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B9vb2Efb29o/29vb/9vb2/9TU1P9kZGT/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/ZGRk/9TU + 1P/29vb/9vb2//b29o/29vYR////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29kH29vbf9vb2//b29v+cnJz/QkJC/0JCQv9jYmP/0M/P/0JCQv9CQkL/0M/P/2Ni + Y/9CQkL/QkJC/5ycnP/29vb/9vb2//b29t/29vZB////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29hH29vaP9vb2//b29v/U1NT/ZGRk/0JCQv9CQkL/mpmZ//Hv8P/x7/D/QkJC/0JC + Qv/x7/D/8e/w/5qZmf9CQkL/QkJC/2RkZP/U1NT/9vb2//b29v/29vaP9vb2Ef///wH///8B////Af// + /wH///8B////Af///wH29vZB9vb23/b29v/29vb/nJyc/0JCQv9CQkL/Y2Jj/9DPz//x7/D/8e/w//Hv + 8P9CQkL/QkJC//Hv8P/x7/D/8e/w/9DPz/9jYmP/QkJC/0JCQv+cnJz/9vb2//b29v/29vbf9vb2Qf// + /wH///8B////Af///wH///8B9vb2j/b29v/29vb/1NTU/2RkZP9CQkL/QkJC/5qZmf/x7/D/8e/w//Hv + 8P/x7/D/8e/w/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P+amZn/QkJC/0JCQv9kZGT/1NTU//b2 + 9v/29vb/9vb2j////wH///8B////Af///wH29vb/9vb2/5ycnP9CQkL/QkJC/2NiY//Qz8//8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/Qz8//Y2Jj/0JC + Qv9CQkL/nJyc//b29v/29vb/////Af///wH///8B////Afb29v/29vb/QkJC/0JCQv+amZn/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/mpmZ/0JCQv9CQkL/9vb2//b29v////8B////Af///wH///8B9vb2//b29v9CQkL/QkJC//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/////wH///8B////Af///wH29vb/9vb2/0JC + Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/////Af///wH///8B////Afb2 + 9v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/+bk5f9CQkL/QkJC/+bk + 5f/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v////8B////Af// + /wH///8B9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P+6ubr/TU1N/0JC + Qv9CQkL/TU1N/7q5uv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2//// + /wH///8B////Af///wH29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/m5OX/eXh4/0JC + Qv9NTU3/urm6/7q5uv9NTU3/QkJC/3l4eP/m5OX/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC//b2 + 9v/29vb/////Af///wH///8B////Afb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/urm6/01N + Tf9CQkL/eXh4/+bk5f/x7/D/8e/w/+bk5f95eHj/QkJC/01NTf+6ubr/8e/w//Hv8P/x7/D/8e/w/0JC + Qv9CQkL/9vb2//b29v////8B////Af///wH///8B9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/5uTl/3l4 + eP9CQkL/TU1N/7q5uv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P+6ubr/TU1N/0JCQv95eHj/5uTl//Hv + 8P/x7/D/QkJC/0JCQv/29vb/9vb2/////wH///8B////Af///wH29vb/9vb2/0JCQv9CQkL/8e/w/7q5 + uv9NTU3/QkJC/3l4eP/m5OX/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/m5OX/eXh4/0JC + Qv9NTU3/urm6//Hv8P9CQkL/QkJC//b29v/29vb/////Af///wH///8B////Afb29v/29vb/QkJC/0JC + Qv95eHj/QkJC/01NTf+6ubr/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/urm6/01NTf9CQkL/eXh4/0JCQv9CQkL/9vb2//b29v////8B////Af///wH///8B9vb2//b2 + 9v9CQkL/QkJC/0JCQv95eHj/5uTl//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/5uTl/3l4eP9CQkL/QkJC/0JCQv/29vb/9vb2/////wH///8B////Af// + /wH29vb/9vb2/0JCQv9CQkL/bm1u//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/25tbv9CQkL/QkJC//b29v/29vb/////Af// + /wH///8B////Afb29v/29vb/nJyc/0JCQv9CQkL/Y2Jj/9DPz//x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/9DPz/9jYmP/QkJC/0JCQv+cnJz/9vb2//b2 + 9v////8B////Af///wH///8B9vb2j/b29v/29vb/1NTU/2RkZP9CQkL/QkJC/5qZmf/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P+amZn/QkJC/0JCQv9kZGT/1NTU//b2 + 9v/29vb/9vb2j////wH///8B////Af///wH///8B9vb2Qfb29t/29vb/9vb2/5ycnP9CQkL/QkJC/2Ni + Y//Qz8//8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/Qz8//Y2Jj/0JCQv9CQkL/nJyc//b2 + 9v/29vb/9vb23/b29kH///8B////Af///wH///8B////Af///wH///8B9vb2Efb29o/29vb/9vb2/9TU + 1P9kZGT/QkJC/0JCQv+amZn/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/mpmZ/0JCQv9CQkL/ZGRk/9TU + 1P/29vb/9vb2//b29o/29vYR////Af///wH///8B////Af///wH///8B////Af///wH///8B////Afb2 + 9kH29vbf9vb2//b29v+cnJz/QkJC/0JCQv9jYmP/0M/P//Hv8P/x7/D/0M/P/2NiY/9CQkL/QkJC/5yc + nP/29vb/9vb2//b29t/29vZB////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29hH29vaP9vb2//b29v/U1NT/ZGRk/0JCQv9CQkL/mpmZ/5qZmf9CQkL/QkJC/2Rk + ZP/U1NT/9vb2//b29v/29vaP9vb2Ef///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH29vZB9vb23/b29v/29vb/nJyc/0JCQv9CQkL/QkJC/0JC + Qv+cnJz/9vb2//b29v/29vbf9vb2Qf///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH29vYR9vb2j/b29v/29vb/1NTU/2Rk + ZP9kZGT/1NTU//b29v/29vb/9vb2j/b29hH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B9vb2Qfb2 + 9t/29vb/9vb2//b29v/29vb/9vb23/b29kH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B9vb2Efb29o/29vb/9vb2//b29o/29vYR////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD///8B9vb2n/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9p////8B9vb2n7Ozs/9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv+zs7P/9vb2n/b29t9ZWVn/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/WVlZ//b29t/29vZhs7Oz/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC + Qv9CQkL/QkJC/7Ozs//29vZh////Afb29t9ZWVn/QkJC/0JCQv9CQkL/QkJC//Hv8P/x7/D/QkJC/0JC + Qv9CQkL/QkJC/1lZWf/29vbf////Af///wH29vZhs7Oz/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv+zs7P/9vb2Yf///wH///8B////Afb29t9ZWVn/QkJC/0JCQv9CQkL/8e/w//Hv + 8P9CQkL/QkJC/0JCQv9ZWVn/9vb23////wH///8B////Af///wH29vZhs7Oz/0JCQv9CQkL/QkJC//Hv + 8P/x7/D/QkJC/0JCQv9CQkL/s7Oz//b29mH///8B////Af///wH///8B////Afb29t9ZWVn/QkJC/0JC + Qv/x7/D/8e/w/0JCQv9CQkL/WVlZ//b29t////8B////Af///wH///8B////Af///wH29vZhs7Oz/0JC + Qv9CQkL/8e/w//Hv8P9CQkL/QkJC/7Ozs//29vZh////Af///wH///8B////Af///wH///8B////Afb2 + 9t9ZWVn/QkJC//Hv8P/x7/D/QkJC/1lZWf/29vbf////Af///wH///8B////Af///wH///8B////Af// + /wH29vZhs7Oz/0JCQv9CQkL/QkJC/0JCQv+zs7P/9vb2Yf///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29t9ZWVn/QkJC/0JCQv9ZWVn/9vb23////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH29vZhs7Oz/0JCQv9CQkL/s7Oz//b29mH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Afb29t9ZWVn/WVlZ//b29t////8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH29vZh9vb2//b29v/29vZh////Af///wH///8B////Af// + /wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + \ No newline at end of file diff --git a/WordGen/View/ManageSyllabaryForm.Designer.cs b/WordGen/View/ManageSyllabaryForm.Designer.cs new file mode 100644 index 0000000..4240c32 --- /dev/null +++ b/WordGen/View/ManageSyllabaryForm.Designer.cs @@ -0,0 +1,249 @@ +namespace WordGen.View { + partial class ManageSyllabaryForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("Exemple", 0); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ManageSyllabaryForm)); + this.TSeditor = new System.Windows.Forms.ToolStrip(); + this.Bnew = new System.Windows.Forms.ToolStripButton(); + this.Bedit = new System.Windows.Forms.ToolStripButton(); + this.Bduplicate = new System.Windows.Forms.ToolStripButton(); + this.Bdelete = new System.Windows.Forms.ToolStripButton(); + this.Bimport = new System.Windows.Forms.ToolStripButton(); + this.DDexport = new System.Windows.Forms.ToolStripDropDownButton(); + this.Bexport = new System.Windows.Forms.ToolStripMenuItem(); + this.BexportAll = new System.Windows.Forms.ToolStripMenuItem(); + this.Bcancel = new System.Windows.Forms.Button(); + this.Bok = new System.Windows.Forms.Button(); + this.LVSyllabary = new System.Windows.Forms.ListView(); + this.ILbig = new System.Windows.Forms.ImageList(this.components); + this.ILsmall = new System.Windows.Forms.ImageList(this.components); + this.syllabaryBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.TSeditor.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.syllabaryBindingSource)).BeginInit(); + this.SuspendLayout(); + // + // TSeditor + // + this.TSeditor.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.TSeditor.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.Bnew, + this.Bedit, + this.Bduplicate, + this.Bdelete, + this.Bimport, + this.DDexport}); + this.TSeditor.Location = new System.Drawing.Point(0, 0); + this.TSeditor.Name = "TSeditor"; + this.TSeditor.Size = new System.Drawing.Size(508, 25); + this.TSeditor.TabIndex = 0; + this.TSeditor.Text = "toolStrip1"; + // + // Bnew + // + this.Bnew.Image = global::WordGen.Properties.Resources.NewBuildDefinition_8952; + this.Bnew.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bnew.Name = "Bnew"; + this.Bnew.Size = new System.Drawing.Size(84, 22); + this.Bnew.Text = "&Nouveau..."; + this.Bnew.Click += new System.EventHandler(this.Bnew_Click); + // + // Bedit + // + this.Bedit.Enabled = false; + this.Bedit.Image = global::WordGen.Properties.Resources.PencilAngled_16xLG_color; + this.Bedit.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bedit.Name = "Bedit"; + this.Bedit.Size = new System.Drawing.Size(66, 22); + this.Bedit.Text = "&Editer..."; + this.Bedit.Click += new System.EventHandler(this.Bedit_Click); + // + // Bduplicate + // + this.Bduplicate.Enabled = false; + this.Bduplicate.Image = global::WordGen.Properties.Resources.Copy_6524; + this.Bduplicate.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bduplicate.Name = "Bduplicate"; + this.Bduplicate.Size = new System.Drawing.Size(79, 22); + this.Bduplicate.Text = "&Dupliquer"; + this.Bduplicate.Click += new System.EventHandler(this.Bduplicate_Click); + // + // Bdelete + // + this.Bdelete.Enabled = false; + this.Bdelete.Image = global::WordGen.Properties.Resources.action_Cancel_16xLG; + this.Bdelete.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bdelete.Name = "Bdelete"; + this.Bdelete.Size = new System.Drawing.Size(82, 22); + this.Bdelete.Text = "Supprimer"; + this.Bdelete.Click += new System.EventHandler(this.Bdelete_Click); + // + // Bimport + // + this.Bimport.Image = global::WordGen.Properties.Resources.Open_6529; + this.Bimport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bimport.Name = "Bimport"; + this.Bimport.Size = new System.Drawing.Size(82, 22); + this.Bimport.Text = "I&mporter..."; + this.Bimport.Click += new System.EventHandler(this.Bimport_Click); + // + // DDexport + // + this.DDexport.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.Bexport, + this.BexportAll}); + this.DDexport.Image = global::WordGen.Properties.Resources.save_16xLG; + this.DDexport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.DDexport.Name = "DDexport"; + this.DDexport.Size = new System.Drawing.Size(79, 22); + this.DDexport.Text = "E&xporter"; + // + // Bexport + // + this.Bexport.Enabled = false; + this.Bexport.Image = global::WordGen.Properties.Resources.save_16xLG; + this.Bexport.Name = "Bexport"; + this.Bexport.Size = new System.Drawing.Size(151, 22); + this.Bexport.Text = "Exporter..."; + this.Bexport.Click += new System.EventHandler(this.Bexport_Click); + // + // BexportAll + // + this.BexportAll.Image = global::WordGen.Properties.Resources.Saveall_6518; + this.BexportAll.Name = "BexportAll"; + this.BexportAll.Size = new System.Drawing.Size(151, 22); + this.BexportAll.Text = "Exporter tout..."; + this.BexportAll.Click += new System.EventHandler(this.BexportAll_Click); + // + // Bcancel + // + this.Bcancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.Bcancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.Bcancel.Image = global::WordGen.Properties.Resources.Close_16xLG; + this.Bcancel.Location = new System.Drawing.Point(421, 268); + this.Bcancel.Name = "Bcancel"; + this.Bcancel.Size = new System.Drawing.Size(75, 23); + this.Bcancel.TabIndex = 13; + this.Bcancel.Text = "&Fermer"; + this.Bcancel.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.Bcancel.UseVisualStyleBackColor = true; + // + // Bok + // + this.Bok.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.Bok.DialogResult = System.Windows.Forms.DialogResult.OK; + this.Bok.Image = global::WordGen.Properties.Resources.StatusAnnotations_Complete_and_ok_16xLG; + this.Bok.Location = new System.Drawing.Point(340, 268); + this.Bok.Name = "Bok"; + this.Bok.Size = new System.Drawing.Size(75, 23); + this.Bok.TabIndex = 12; + this.Bok.Text = "Ch&oisir"; + this.Bok.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.Bok.UseVisualStyleBackColor = true; + this.Bok.Visible = false; + this.Bok.Click += new System.EventHandler(this.Bclose_Click); + // + // LVSyllabary + // + this.LVSyllabary.Items.AddRange(new System.Windows.Forms.ListViewItem[] { + listViewItem1}); + this.LVSyllabary.LargeImageList = this.ILbig; + this.LVSyllabary.Location = new System.Drawing.Point(12, 28); + this.LVSyllabary.Name = "LVSyllabary"; + this.LVSyllabary.ShowGroups = false; + this.LVSyllabary.Size = new System.Drawing.Size(484, 234); + this.LVSyllabary.SmallImageList = this.ILsmall; + this.LVSyllabary.Sorting = System.Windows.Forms.SortOrder.Ascending; + this.LVSyllabary.TabIndex = 14; + this.LVSyllabary.UseCompatibleStateImageBehavior = false; + this.LVSyllabary.View = System.Windows.Forms.View.Tile; + this.LVSyllabary.SelectedIndexChanged += new System.EventHandler(this.LVsyllabary_SelectedIndexChanged); + this.LVSyllabary.DoubleClick += new System.EventHandler(this.LVSyllabary_DoubleClick); + this.LVSyllabary.KeyDown += new System.Windows.Forms.KeyEventHandler(this.LVSyllabary_KeyDown); + // + // ILbig + // + this.ILbig.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ILbig.ImageStream"))); + this.ILbig.TransparentColor = System.Drawing.Color.Transparent; + this.ILbig.Images.SetKeyName(0, "RefactoringLog12810_32.png"); + this.ILbig.Images.SetKeyName(1, "ASCube_32xLG.png"); + // + // ILsmall + // + this.ILsmall.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ILsmall.ImageStream"))); + this.ILsmall.TransparentColor = System.Drawing.Color.Transparent; + this.ILsmall.Images.SetKeyName(0, "RefactoringLog_12810.png"); + this.ILsmall.Images.SetKeyName(1, "ASCube_16xLG.png"); + // + // syllabaryBindingSource + // + this.syllabaryBindingSource.DataSource = typeof(WordGen.Model.Syllabary); + // + // ManageSyllabaryForm + // + this.AcceptButton = this.Bok; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.Bcancel; + this.ClientSize = new System.Drawing.Size(508, 303); + this.Controls.Add(this.LVSyllabary); + this.Controls.Add(this.Bcancel); + this.Controls.Add(this.Bok); + this.Controls.Add(this.TSeditor); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MinimizeBox = false; + this.Name = "ManageSyllabaryForm"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Gérer les syllabaires"; + this.Load += new System.EventHandler(this.ManageSyllabaryForm_Load); + this.TSeditor.ResumeLayout(false); + this.TSeditor.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.syllabaryBindingSource)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ToolStrip TSeditor; + private System.Windows.Forms.ToolStripButton Bnew; + private System.Windows.Forms.ToolStripButton Bedit; + private System.Windows.Forms.ToolStripButton Bduplicate; + private System.Windows.Forms.ToolStripButton Bdelete; + private System.Windows.Forms.ToolStripButton Bimport; + private System.Windows.Forms.ToolStripDropDownButton DDexport; + private System.Windows.Forms.ToolStripMenuItem Bexport; + private System.Windows.Forms.ToolStripMenuItem BexportAll; + private System.Windows.Forms.Button Bcancel; + private System.Windows.Forms.Button Bok; + private System.Windows.Forms.ListView LVSyllabary; + private System.Windows.Forms.ImageList ILsmall; + private System.Windows.Forms.BindingSource syllabaryBindingSource; + private System.Windows.Forms.ImageList ILbig; + } +} \ No newline at end of file diff --git a/WordGen/View/ManageSyllabaryForm.cs b/WordGen/View/ManageSyllabaryForm.cs new file mode 100644 index 0000000..7235532 --- /dev/null +++ b/WordGen/View/ManageSyllabaryForm.cs @@ -0,0 +1,178 @@ +using WordGen.Model; +using WordGen.View.LocalizationString; +using System; +using System.Windows.Forms; +using System.Collections.Generic; +using System.IO; + +namespace WordGen.View { + public partial class ManageSyllabaryForm : Form { + public ManageSyllabaryForm() { + InitializeComponent(); + reloadListView(); + + } + + private void reloadListView() { + LVSyllabary.Clear(); + foreach (Syllabary aSillabary in SyllabaryWrapper.GetAll()) { + // add a ListViewItem with the Sillabary title and the 0th Icon index (specified in the ListView) in the ListView. + LVSyllabary.Items.Add(aSillabary.title, 0); + } + } + + private void Bclose_Click(object sender, EventArgs e) { + this.Close(); + this.Dispose(); + } + + private void LVsyllabary_SelectedIndexChanged(object sender, EventArgs e) { + if (LVSyllabary.SelectedItems.Count == 0) { + Bedit.Enabled = false; + Bdelete.Enabled = false; + Bduplicate.Enabled = false; + Bexport.Enabled = false; + } else if (LVSyllabary.SelectedItems.Count == 1) { + Bedit.Enabled = true; + Bdelete.Enabled = true; + Bduplicate.Enabled = true; + Bexport.Enabled = true; + } else { + Bedit.Enabled = false; + Bdelete.Enabled = true; + Bduplicate.Enabled = true; + Bexport.Enabled = false; + } + } + + // Delete sullabary + private void Bdelete_Click(object sender, EventArgs e) { + LVSyllabary_DeleteSelectedItems(); + } + + + private void LVSyllabary_KeyDown(object sender, KeyEventArgs e) { + if (e.KeyCode == Keys.Delete) { + LVSyllabary_DeleteSelectedItems(); + } + } + + + private void LVSyllabary_DeleteSelectedItems() { + + if (LVSyllabary.SelectedItems.Count == 0) { + return; + + } else if (LVSyllabary.SelectedItems.Count == 1) { + // 1 item selected. + // We show a confirmation message box. + var result = MessageBox.Show(string.Format(Messages.ManageSyllabaireForm_ConfirmDelete1Item, LVSyllabary.SelectedItems[0].Text), Messages.ManageSyllabaireForm_ConfirmDelete1ItemTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question); + // If no, the deletion exits + if (result == DialogResult.No) + return; + + } else { + // Multiple items selected. + var result = MessageBox.Show(string.Format(Messages.ManageSyllabaireForm_ConfirmDeleteManyItems, LVSyllabary.SelectedItems.Count), Messages.ManageSyllabaireForm_ConfirmDeleteManyItemsTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question); + // If no, the deletion exits + if (result == DialogResult.No) + return; + } + + // Deletion + foreach (ListViewItem aSyllabary in LVSyllabary.SelectedItems) { + SyllabaryWrapper.Delete(aSyllabary.Text); + } + reloadListView(); + } + + private void LVSyllabary_DoubleClick(object sender, EventArgs e) { + if (LVSyllabary.SelectedItems.Count == 1) { + // Edit item + LVSullabary_EditItem(); + } else if (LVSyllabary.SelectedItems.Count == 0) { + // New item + LVSyllabary_NewItem(); + } + } + + private void Bnew_Click(object sender, EventArgs e) { + LVSyllabary_NewItem(); + } + + private void LVSyllabary_NewItem() { + SyllabaryForm mySF = new SyllabaryForm(); + if (mySF.ShowDialog() == DialogResult.OK) { + SyllabaryWrapper.Add(mySF.MySyllabaire); + reloadListView(); + } + } + + + // Edit sullabary + private void Bedit_Click(object sender, EventArgs e) { + LVSullabary_EditItem(); + } + + private void LVSullabary_EditItem() { + Syllabary thisSyllabary = SyllabaryWrapper.Get(LVSyllabary.SelectedItems[0].Text); + SyllabaryForm mySF = new SyllabaryForm(thisSyllabary); + if (mySF.ShowDialog() == DialogResult.OK) { + SyllabaryWrapper.Replace(thisSyllabary.title, mySF.MySyllabaire); + reloadListView(); + } + } + + private void Bduplicate_Click(object sender, EventArgs e) { + foreach (ListViewItem lvItem in LVSyllabary.SelectedItems) { + // clone + Syllabary thisSyllabary = SyllabaryWrapper.Get(lvItem.Text); + Syllabary clonedSyllabary = (Syllabary)thisSyllabary.Clone(); + SyllabaryWrapper.Add(clonedSyllabary); + } + // add on the list + reloadListView(); + + } + + private void Bexport_Click(object sender, EventArgs e) { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.FileName = LVSyllabary.SelectedItems[0].Text; + sfd.Filter = "eXtensible Markup Language (*.xml)|*.xml"; + if (sfd.ShowDialog() == DialogResult.OK) { + SyllabaryIoManager Siom = new SyllabaryIoManager(); + Syllabary thisSyllabary = SyllabaryWrapper.Get(LVSyllabary.SelectedItems[0].Text); + Siom.saveSyllabary(thisSyllabary, sfd.FileName); + } + + } + + private void BexportAll_Click(object sender, EventArgs e) { + FolderBrowserDialog fbd = new FolderBrowserDialog(); + if (fbd.ShowDialog() == DialogResult.OK) { + SyllabaryIoManager Siom = new SyllabaryIoManager(); + foreach (Syllabary item in SyllabaryWrapper.GetAll()) { + Siom.saveSyllabary(item, Path.Combine(fbd.SelectedPath, item.title)); + } + } + } + + private void Bimport_Click(object sender, EventArgs e) { + OpenFileDialog ofd = new OpenFileDialog(); + ofd.Multiselect = true; + ofd.Filter = "eXtensible Markup Language (*.xml)|*.xml"; + if (ofd.ShowDialog() == DialogResult.OK) { + SyllabaryIoManager Siom = new SyllabaryIoManager(); + foreach (string item in ofd.FileNames) { + Syllabary thisSyllabary = Siom.loadSyllabary(item); + SyllabaryWrapper.Add(thisSyllabary); + } + reloadListView(); + } + } + + private void ManageSyllabaryForm_Load(object sender, EventArgs e) { + + } + } +} diff --git a/WordGen/View/ManageSyllabaryForm.resx b/WordGen/View/ManageSyllabaryForm.resx new file mode 100644 index 0000000..f9db865 --- /dev/null +++ b/WordGen/View/ManageSyllabaryForm.resx @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 377, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACg + DAAAAk1TRnQBSQFMAgEBAgEAATgBAAE4AQABIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/y4AAf8E9AH/TwAc9A4A + CPROABz0DAAB/wP0AfACbQHwA/QB/0wAAvQYFAL0CwAE9AGSBBQBkgT0SwAC9BgUAvQJAAH/A/QB8AFt + BhQBbQHwA/QB/0kABPQCFBL0AhQC9AgABPQBkgIUAW0BvAIUAbwBbQIUAZIE9EgABPQCFBL0AhQC9AYA + Af8D9AHwAW0CFAGSAvQCFAL0AZICFAFtAfAD9AH/RgAC9AQUEvQCFAL0BQAE9AGSAhQBbQG8A/QCFAP0 + AbwBbQIUAZIE9EUAAvQEFBL0AhQC9AQAA/QB8AFtAhQBkgX0AhQF9AGSAhQBbQHwA/REAAT0AhQS9AIU + AvQEAAL0AZICFAFtAbwG9AIUBvQBvAFtAhQBkgL0RAAE9AIUEvQCFAL0BAAC9AIUAZII9AIUCPQBkgIU + AvREAAL0BBQS9AIUAvQEAAL0AhQJ9AIUCfQCFAL0RAAC9AQUEvQCFAL0BAAC9AIUCfQCFAn0AhQC9EQA + BPQCFBL0AhQC9AQAAvQCFAj0AfICFAHyCPQCFAL0RAAE9AIUEvQCFAL0BAAC9AIUB/QBBwETAhQBEwEH + B/QCFAL0RAAC9AQUEvQCFAL0BAAC9AIUBfQB8gHsARQBEwIHARMBFAHsAfIF9AIUAvREAAL0BBQS9AIU + AvQEAAL0AhQE9AEHARMBFAHsAfIC9AHyAewBFAETAQcE9AIUAvREAAT0AhQS9AIUAvQEAAL0AhQC9AHy + AewBFAETAQcG9AEHARMBFAHsAfIC9AIUAvREAAT0AhQS9AIUAvQEAAL0AhQB9AEHARMBFAHsAfII9AHy + AewBFAETAQcB9AIUAvREAAL0BBQE9AoUBPQCFAL0BAAC9AIUAewBFAETAQcM9AEHARMBFAHsAhQC9EQA + AvQEFAT0ChQE9AIUAvQEAAL0AxQB7AHyDvQB8gHsAxQC9EQABPQCFAT0ChQE9AIUAvQEAAL0AhQBbRL0 + AW0CFAL0RAAE9AIUBPQKFAT0AhQC9AQAAvQBkgIUAW0BvA70AbwBbQIUAZIC9EQAAvQEFBL0AhQC9AQA + A/QB8AFtAhQBkgz0AZICFAFtAfAD9EQAAvQEFBL0AhQC9AUABPQBkgIUAW0BvAj0AbwBbQIUAZIE9EUA + BPQCFBL0AhQC9AYAAf8D9AHwAW0CFAGSBvQBkgIUAW0B8AP0Af9GAAT0AhQS9AIUAvQIAAT0AZICFAFt + AbwC9AG8AW0CFAGSBPRIAAL0GBQC9AkAAf8D9AHwAW0CFAKSAhQBbQHwA/QB/0kAAvQYFAL0CwAE9AGS + BBQBkgT0SwAc9AwAAf8D9AHwAm0B8AP0Af9MABz0DgAI9HkAAf8E9AH/TQABQgFNAT4HAAE+AwABKAMA + AYADAAEgAwABAQEAAQEGAAECFgAD/wEABf8B+AEfAf8IAAHAAgABAwH/AfABDwH/CAABwAIAAQMB/wHA + AQMB/wgAAcACAAEDAf8BgAEBAf8IAAHAAgABAwH+AgABfwgAAcACAAEDAfwCAAE/CAABwAIAAQMB8AIA + AQ8IAAHAAgABAwHgAgABBwgAAcACAAEDAcACAAEDCAABwAIAAQMBwAIAAQMIAAHAAgABAwHAAgABAwgA + AcACAAEDAcACAAEDCAABwAIAAQMBwAIAAQMIAAHAAgABAwHAAgABAwgAAcACAAEDAcACAAEDCAABwAIA + AQMBwAIAAQMIAAHAAgABAwHAAgABAwgAAcACAAEDAcACAAEDCAABwAIAAQMBwAIAAQMIAAHAAgABAwHA + AgABAwgAAcACAAEDAcACAAEDCAABwAIAAQMBwAIAAQMIAAHAAgABAwHAAgABAwgAAcACAAEDAcACAAED + CAABwAIAAQMB4AIAAQcIAAHAAgABAwHwAgABDwgAAcACAAEDAfwCAAE/CAABwAIAAQMB/gIAAX8IAAHA + AgABAwH/AYABAQH/CAABwAIAAQMB/wHAAQMB/wgAAcACAAEDAf8B8AEPAf8IAAX/AfgBHwH/CAAL + + + + 114, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABO + CQAAAk1TRnQBSQFMAgEBAgEAAXABAAFwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/xcABPQnAA70BQAB/wH0 + AfACbQHwAfQB/yUAAfQMFAH0BAAC9AGSARMCbQETAZIC9CQAAvQBFAn0ARQB9AIAAf8B9AHwAW0B7AHy + ApIB8gHsAW0B8AH0Af8iAAH0AhQJ9AEUAfQCAAH0AZIBEwEHAvQCkgL0AQcBEwGSAfQiAAL0ARQJ9AEU + AfQCAAH0ARQB8gP0ApID9AHyARQB9CIAAfQCFAn0ARQB9AIAAfQBFAT0ApIE9AEUAfQiAAL0ARQJ9AEU + AfQCAAH0ARQD9AH3AuwB9wP0ARQB9CIAAfQCFAn0ARQB9AIAAfQBFAH0AfEB7AH3AvQB9wHsAfEB9AEU + AfQiAAL0ARQJ9AEUAfQCAAH0ARQB9wHsAfEE9AHxAewB9wEUAfQiAAH0AhQC9AUUAvQBFAH0AgAB9AEU + AZII9AGSARQB9CIAAvQBFAL0BRQC9AEUAfQCAAH0AZIBEwEHBvQBBwETAZIB9CIAAfQCFAn0ARQB9AIA + Af8B9AHwAW0B7AHyAvQB8gHsAW0B8AH0Af8iAAL0ARQJ9AEUAfQEAAL0AZIBEwIHARMBkgL0JAAB9AwU + AfQFAAH/AfQB8AJtAfAB9AH/JQAO9AcABPQmAAFCAU0BPgcAAT4DAAEoAwABQAMAARADAAEBAQABAQUA + AYAXAAP/AQAC/wH8AT8EAAGAAQEB8AEPBAABgAEBAeABBwQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB + AYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEBAYABAQQAAYABAQGAAQEEAAGAAQEBgAEBBAABgAEB + AYABAQQAAYABAQGAAQEEAAGAAQEB4AEHBAABgAEBAfABDwQAAYABAQH8AT8EAAs= + + + + 199, 17 + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/QkJC//b29v/29vb/QkJC//Hv8P80xjj/NMY4/zTGOP/x7/D/fHx8/3x8fP98fHz/fHx8//Hv + 8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/NMY4/zTGOP80xjj/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/zTGOP80xjj/NMY4//Hv8P9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv/x7/D/QkJC//b29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/nFMA/5xTAP+cUwD/8e/w/3x8 + fP98fHz/fHx8/3x8fP/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/8e/w/5xTAP+cUwD/nFMA//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b29v/29vb/QkJC//Hv8P+cUwD/nFMA/5xT + AP/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/9vb2/0JCQv/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2//b29v9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//b29v/29vb/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/29vb/9vb2/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + \ No newline at end of file diff --git a/WordGen/View/ResultForm.Designer.cs b/WordGen/View/ResultForm.Designer.cs new file mode 100644 index 0000000..9806779 --- /dev/null +++ b/WordGen/View/ResultForm.Designer.cs @@ -0,0 +1,247 @@ +namespace WordGen.View { + partial class ResultForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ResultForm)); + System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem(new string[] { + "Mot incomplet", + resources.GetString("LVresults.Items")}, 1); + System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("Mot", 0); + this.TSresult = new System.Windows.Forms.ToolStrip(); + this.Bcopy = new System.Windows.Forms.ToolStripButton(); + this.Binfo = new System.Windows.Forms.ToolStripButton(); + this.Sep1 = new System.Windows.Forms.ToolStripSeparator(); + this.Bsave = new System.Windows.Forms.ToolStripButton(); + this.BlockForms = new System.Windows.Forms.ToolStripButton(); + this.Bview = new System.Windows.Forms.ToolStripDropDownButton(); + this.BviewDetail = new System.Windows.Forms.ToolStripMenuItem(); + this.BviewSmall = new System.Windows.Forms.ToolStripMenuItem(); + this.BviewTile = new System.Windows.Forms.ToolStripMenuItem(); + this.LVresults = new System.Windows.Forms.ListView(); + this.CHname = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.CHerror = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.ILresultsLarge = new System.Windows.Forms.ImageList(this.components); + this.ILresultsSmall = new System.Windows.Forms.ImageList(this.components); + this.ttErrorInfo = new System.Windows.Forms.ToolTip(this.components); + this.TSresult.SuspendLayout(); + this.SuspendLayout(); + // + // TSresult + // + this.TSresult.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.TSresult.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.Bcopy, + this.Binfo, + this.Sep1, + this.Bsave, + this.BlockForms, + this.Bview}); + this.TSresult.Location = new System.Drawing.Point(0, 0); + this.TSresult.Name = "TSresult"; + this.TSresult.Size = new System.Drawing.Size(275, 25); + this.TSresult.TabIndex = 0; + this.TSresult.Text = "toolStrip1"; + // + // Bcopy + // + this.Bcopy.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.Bcopy.Image = global::WordGen.Properties.Resources.Copy_6524; + this.Bcopy.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bcopy.Name = "Bcopy"; + this.Bcopy.Size = new System.Drawing.Size(23, 22); + this.Bcopy.Text = "BCopy"; + // + // Binfo + // + this.Binfo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.Binfo.Image = global::WordGen.Properties.Resources.StatusAnnotations_Information_16xMD; + this.Binfo.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Binfo.Name = "Binfo"; + this.Binfo.Size = new System.Drawing.Size(23, 22); + this.Binfo.Text = "Binfo"; + this.Binfo.Click += new System.EventHandler(this.Binfo_Click); + // + // Sep1 + // + this.Sep1.Name = "Sep1"; + this.Sep1.Size = new System.Drawing.Size(6, 25); + // + // Bsave + // + this.Bsave.Image = global::WordGen.Properties.Resources.save_16xLG; + this.Bsave.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bsave.Name = "Bsave"; + this.Bsave.Size = new System.Drawing.Size(92, 22); + this.Bsave.Text = "Enregistrer..."; + // + // BlockForms + // + this.BlockForms.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.BlockForms.Checked = true; + this.BlockForms.CheckState = System.Windows.Forms.CheckState.Checked; + this.BlockForms.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.BlockForms.Image = global::WordGen.Properties.Resources.lock_16xLG; + this.BlockForms.ImageTransparentColor = System.Drawing.Color.Magenta; + this.BlockForms.Name = "BlockForms"; + this.BlockForms.Size = new System.Drawing.Size(23, 22); + this.BlockForms.Text = "Lier les deux fenêtres"; + this.BlockForms.Click += new System.EventHandler(this.BLockMove_Click); + // + // Bview + // + this.Bview.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; + this.Bview.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.Bview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.BviewDetail, + this.BviewSmall, + this.BviewTile}); + this.Bview.Image = ((System.Drawing.Image)(resources.GetObject("Bview.Image"))); + this.Bview.ImageTransparentColor = System.Drawing.Color.Magenta; + this.Bview.Name = "Bview"; + this.Bview.Size = new System.Drawing.Size(29, 22); + this.Bview.Text = "Affichage des mots"; + this.Bview.ToolTipText = "Affichage des mots"; + // + // BviewDetail + // + this.BviewDetail.Image = global::WordGen.Properties.Resources.Views_Detail_16; + this.BviewDetail.Name = "BviewDetail"; + this.BviewDetail.Size = new System.Drawing.Size(120, 22); + this.BviewDetail.Text = "Détail"; + this.BviewDetail.Click += new System.EventHandler(this.BviewDetail_Click); + // + // BviewSmall + // + this.BviewSmall.Image = global::WordGen.Properties.Resources.Views_list_16; + this.BviewSmall.Name = "BviewSmall"; + this.BviewSmall.Size = new System.Drawing.Size(120, 22); + this.BviewSmall.Text = "Liste"; + this.BviewSmall.Click += new System.EventHandler(this.BviewSmall_Click); + // + // BviewTile + // + this.BviewTile.Image = global::WordGen.Properties.Resources.Views_Content_16; + this.BviewTile.Name = "BviewTile"; + this.BviewTile.Size = new System.Drawing.Size(120, 22); + this.BviewTile.Text = "Contenu"; + this.BviewTile.Click += new System.EventHandler(this.BviewTile_Click); + // + // LVresults + // + this.LVresults.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.LVresults.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.CHname, + this.CHerror}); + this.LVresults.Dock = System.Windows.Forms.DockStyle.Fill; + this.LVresults.FullRowSelect = true; + this.LVresults.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.LVresults.Items.AddRange(new System.Windows.Forms.ListViewItem[] { + listViewItem3, + listViewItem4}); + this.LVresults.LargeImageList = this.ILresultsLarge; + this.LVresults.Location = new System.Drawing.Point(0, 25); + this.LVresults.Name = "LVresults"; + this.LVresults.ShowGroups = false; + this.LVresults.ShowItemToolTips = true; + this.LVresults.Size = new System.Drawing.Size(275, 436); + this.LVresults.SmallImageList = this.ILresultsSmall; + this.LVresults.TabIndex = 1; + this.LVresults.UseCompatibleStateImageBehavior = false; + this.LVresults.View = System.Windows.Forms.View.SmallIcon; + this.LVresults.SelectedIndexChanged += new System.EventHandler(this.LVresults_SelectedIndexChanged); + this.LVresults.DoubleClick += new System.EventHandler(this.LVresults_DoubleClick); + // + // CHname + // + this.CHname.Text = "Mot"; + this.CHname.Width = 90; + // + // CHerror + // + this.CHerror.Text = "Erreur"; + this.CHerror.Width = 182; + // + // ILresultsLarge + // + this.ILresultsLarge.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ILresultsLarge.ImageStream"))); + this.ILresultsLarge.TransparentColor = System.Drawing.Color.Transparent; + this.ILresultsLarge.Images.SetKeyName(0, "Textfile_818_32x.png"); + this.ILresultsLarge.Images.SetKeyName(1, "BrokenlinktoFile_431_32x.png"); + // + // ILresultsSmall + // + this.ILresultsSmall.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ILresultsSmall.ImageStream"))); + this.ILresultsSmall.TransparentColor = System.Drawing.Color.Transparent; + this.ILresultsSmall.Images.SetKeyName(0, "Textfile_818_16x.png"); + this.ILresultsSmall.Images.SetKeyName(1, "BrokenlinktoFile_431_16x.png"); + this.ILresultsSmall.Images.SetKeyName(2, "Strings_7959_16x.png"); + // + // ResultForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(275, 461); + this.Controls.Add(this.LVresults); + this.Controls.Add(this.TSresult); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimumSize = new System.Drawing.Size(250, 320); + this.Name = "ResultForm"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "ResultForm"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ResultForm_FormClosed); + this.Load += new System.EventHandler(this.ResultForm_Load); + this.Shown += new System.EventHandler(this.ResultForm_Shown); + this.Move += new System.EventHandler(this.ResultForm_Move); + this.Resize += new System.EventHandler(this.ResultForm_Resize); + this.TSresult.ResumeLayout(false); + this.TSresult.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ToolStrip TSresult; + private System.Windows.Forms.ToolStripButton Bcopy; + private System.Windows.Forms.ToolStripSeparator Sep1; + private System.Windows.Forms.ToolStripButton Bsave; + private System.Windows.Forms.ToolStripButton BlockForms; + private System.Windows.Forms.ListView LVresults; + private System.Windows.Forms.ColumnHeader CHname; + private System.Windows.Forms.ColumnHeader CHerror; + private System.Windows.Forms.ToolStripDropDownButton Bview; + private System.Windows.Forms.ToolStripMenuItem BviewDetail; + private System.Windows.Forms.ToolStripMenuItem BviewSmall; + private System.Windows.Forms.ToolStripMenuItem BviewTile; + private System.Windows.Forms.ImageList ILresultsSmall; + private System.Windows.Forms.ImageList ILresultsLarge; + private System.Windows.Forms.ToolStripButton Binfo; + private System.Windows.Forms.ToolTip ttErrorInfo; + } +} \ No newline at end of file diff --git a/WordGen/View/ResultForm.cs b/WordGen/View/ResultForm.cs new file mode 100644 index 0000000..623e4df --- /dev/null +++ b/WordGen/View/ResultForm.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using WordGen.Model.Exceptions; +using WordGen.View.LocalizationString; + +namespace WordGen.View { + public partial class ResultForm : Form { + + private bool _isLocked; + public bool isLocked + { + get { return _isLocked; } + set + { + _isLocked = value; + BlockForms.Checked = value; + BlockForms.Image = (value) ? WordGen.Properties.Resources.lock_16xLG : WordGen.Properties.Resources.unlock_16xLG; + } + } + + + public ResultForm() { + InitializeComponent(); + } + + private void ResultForm_Load(object sender, EventArgs e) { + BviewSmall_Click(sender, e); + isLocked = true; + } + + private void ResultForm_Move(object sender, EventArgs e) { + if (this.ContainsFocus) { + isLocked = false; + } + } + + private void BLockMove_Click(object sender, EventArgs e) { + isLocked = !BlockForms.Checked; + } + + internal void setList(Dictionary results) { + LVresults.Items.Clear(); + foreach (KeyValuePair aWord in results) { + ListViewItem aLvi = new ListViewItem(); + aLvi.Text = aWord.Key; + aLvi.ImageIndex = (aWord.Value != null) ? 1 : 0; + if (aWord.Value != null) { + ListViewItem.ListViewSubItem aLvsi = new ListViewItem.ListViewSubItem(aLvi, aWord.Value.Message); + if (aWord.Value.GetType() == new EmptyConsonnantListException().GetType()) { + aLvi.Tag = (EmptyConsonnantListException)aWord.Value; + } else if (aWord.Value.GetType() == new EmptyVowelListException().GetType()) { + aLvi.Tag = (EmptyVowelListException)aWord.Value; + } else if (aWord.Value.GetType() == new EmptySyllableListException().GetType()) { + aLvi.Tag = (EmptySyllableListException)aWord.Value; + } else if (aWord.Value.GetType() == new NoBeforeSyllableMatchException().GetType()) { + aLvi.Tag = (NoBeforeSyllableMatchException)aWord.Value; + } else { + aLvi.Tag = aWord.Value; + } + } + LVresults.Items.Add(aLvi); + } + } + + internal void showWordInfo() { + GeneratorException reason = (GeneratorException)LVresults.SelectedItems[0].Tag; + MessageBox.Show(reason.Message, Messages.ResultForm_InformationTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + private void BviewDetail_Click(object sender, EventArgs e) { + LVresults.View = System.Windows.Forms.View.Details; + Bview.Image = BviewDetail.Image; + LVresults.Columns[0].Width = Convert.ToInt32(0.3 * this.Width); + LVresults.Columns[1].Width = Convert.ToInt32(0.7 * this.Width) - 18; + BviewDetail.Checked = true; + BviewSmall.Checked = false; + BviewTile.Checked = false; + } + + private void BviewSmall_Click(object sender, EventArgs e) { + LVresults.View = System.Windows.Forms.View.SmallIcon; + Bview.Image = BviewSmall.Image; + BviewDetail.Checked = false; + BviewSmall.Checked = true; + BviewTile.Checked = false; + } + + private void BviewTile_Click(object sender, EventArgs e) { + LVresults.View = System.Windows.Forms.View.Tile; + Bview.Image = BviewTile.Image; + BviewDetail.Checked = false; + BviewSmall.Checked = false; + BviewTile.Checked = true; + } + + private void ResultForm_FormClosed(object sender, FormClosedEventArgs e) { + this.Dispose(); + } + + private void ResultForm_Resize(object sender, EventArgs e) { + if (LVresults.View == System.Windows.Forms.View.Details) { + LVresults.Columns[0].Width = Convert.ToInt32(0.3 * this.Width); + LVresults.Columns[1].Width = Convert.ToInt32(0.7 * this.Width) - 18; + } else { + LVresults.ArrangeIcons(ListViewAlignment.SnapToGrid); + } + } + + private void Binfo_Click(object sender, EventArgs e) { + if (LVresults.SelectedItems[0].Tag != null) { + showWordInfo(); + } + } + + private void LVresults_SelectedIndexChanged(object sender, EventArgs e) { + var hasSelection = (LVresults.SelectedItems.Count > 0); + Bcopy.Enabled = hasSelection; + Binfo.Enabled = (hasSelection && (LVresults.SelectedItems[0].Tag != null)); + } + + private void LVresults_DoubleClick(object sender, EventArgs e) { + if (LVresults.SelectedItems[0].Tag != null) { + showWordInfo(); + } + } + + private void ResultForm_Shown(object sender, EventArgs e) { + } + + } +} diff --git a/WordGen/View/ResultForm.resx b/WordGen/View/ResultForm.resx new file mode 100644 index 0000000..541307d --- /dev/null +++ b/WordGen/View/ResultForm.resx @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABXSURBVDhPzY4xDgAgCAN5G///i7qwajSpMcIg4iDJLZQc + JRGpEYaAma/4TJBTcXEkwKcdZEpgHUEG1ux9Aw9Hgr63QKYE1hFkYM3eN/CgBDdMQQSKDVED6Aq6C57l + g/wAAAAASUVORK5CYII= + + + + Conloquiis nodum eique urgentis tractatus incumberet nimis incumberet destitutus scriptis cum confidentia nimis clandestinis vi cum effundendis tamquam aliis rebus clandestinis codicem interiret per aliis curarum publici publici mollioribus curarum. + + + 248, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACU + CwAAAk1TRnQBSQFMAgEBAgEAAVgBAAFYAQABIAEAASABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABgAMAASADAAEBAQABCAYAARAYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/zIADvRxABD0RQAW9BUA + AvQBmgo4AZoC9EQAGPQUAAL0AcMEOAIABDgBwwL0RAAC9AHsEhQB7QL0BwAQ9AFZAzgCAAM4AXoC9EUA + AvQUFAHzAfQGABH0AcMIOAHDAvRFAAL0AhQQ9AIUAvQGAAL0Ae0NFAGSAfQBWQI4AgACOAF6AvRGAAL0 + AhQQ9AIUAvQGAAL0DhQBEwHzAcMCOAIAAjgBwwL0RgAC9AIUAvQMFAL0AhQC9AYAAvQCFA/0AVkBOAIA + ATgBegL0RwAC9AIUAvQMFAL0AhQC9AYAAvQCFA/0AcMBOAIAATgBwwL0RwAC9AIUEPQCFAL0BgAC9AIU + EPQBWQI4AXoC9EgAAvQCFBD0AhQC9AYAAvQCFBD0AcMCOAHDAvRIAAL0AhQC9AwUAvQCFAL0BgAC9AIU + EfQBWQF6AvRJAAL0AhQC9AwUAvQCFAL0BgAC9AIUEPQB8wLDAvRJAAL0AhQQ9AIUAvQGAAL0AhQQ9AJt + AvRKAAL0AhQQ9AIUAvQGAAL0AhQQ9AIUAvRKAAL0AhQC9AwUAvQCFAL0BgAC9AIUEPQCFAL0SgAC9AIU + AvQMFAL0AhQC9AYAAvQCFBD0AhQC9EoAAvQCFBD0AhQC9AYAAvQCFBD0AhQC9EoAAvQCFBD0AhQC9AYA + AvQCFBD0AhQC9EoAAvQCFAL0BxQC9AcUAvQGAAL0AhQQ9AIUAvRKAAL0AhQC9AcUAvQGFAHsAvQGAAL0 + AhQQ9AIUAvRKAAL0AhQL9AUUAewD9AYAAvQCFAv0BxQC9EoAAvQCFAv0BBQB7AP0BwAC9AIUC/QGFAHs + AvRKAAL0AhQL9AMUAewD9AgAAvQCFAv0BRQB7AP0SgAB9AHzAhQL9AIUAewD9AkAAvQCFAv0BBQB7AP0 + SwAB9AHzDhQB7AP0CgAC9AIUC/QDFAHsA/RMAAL0AewMFAHsA/QLAAH0AfMCFAv0AhQB7AP0TQAS9AwA + AfQB8w4UAewD9E8AEPQNAAL0Ae0MFAHsA/RtABL0bwAQ9E0AAUIBTQE+BwABPgMAASgDAAGAAwABIAMA + AQEBAAEBBgABAhYAA/8BAAb/AYABAQgABv8KAAH4AgABHwL/CgAB8AIAAQ8C/woAAfACAAEPAeACAAEB + CAAB8AIAAQ8BwAIAAQEIAAHwAgABDwHAAgABAwgAAfACAAEPAcACAAEDCAAB8AIAAQ8BwAIAAQcIAAHw + AgABDwHAAgABBwgAAfACAAEPAcACAAEPCAAB8AIAAQ8BwAIAAQ8IAAHwAgABDwHAAgABHwgAAfACAAEP + AcACAAEfCAAB8AIAAQ8BwAIAAT8IAAHwAgABDwHAAgABPwgAAfACAAEPAcACAAE/CAAB8AIAAQ8BwAIA + AT8IAAHwAgABDwHAAgABPwgAAfACAAEPAcACAAE/CAAB8AIAAQ8BwAIAAT8IAAHwAgABDwHAAgABPwgA + AfACAAEPAcACAAE/CAAB8AIAAR8BwAIAAT8IAAHwAgABPwHAAgABPwgAAfACAAF/AcACAAF/CAAB8AIA + Af8BwAIAAf8IAAHwAQABAQH/AcABAAEBAf8IAAHwAQABAwH/AcABAAEDAf8IAAH4AQABBwH/AcABAAEH + Af8IAAT/AcABAAEPAf8IAAT/AeABAAEfAf8IAAs= + + + + 122, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADG + CQAAAk1TRnQBSQFMAgEBAwEAAVgBAAFYAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/xgACfQiAAz0CAAB/wH0 + AVkFOAFZEfQSAAH0ChQB9AIACPQBWQI4AQACOAFZAvQOFAH0EgAB9AEUCPQBFAH0AgAB9AYUAeoBmgU4 + AcMC9AEUDPQBFAH0EgAB9AEUAfQGFAH0ARQB9AIAAfQBFAf0AVkBOAEAATgBWQH0AQAB9AEUDPQBFAH0 + EgAB9AEUCPQBFAH0AgAB9AEUB/QBmgE4AQABOAHDAfQBAAH0ARQM9AEUAfQSAAH0ARQB9AYUAfQBFAH0 + AgAB9AEUCPQBWQE4AVkB9AIAAfQBFAH0AxQB9AMUAfQCFAH0ARQB9BIAAfQBFAj0ARQB9AIAAfQBFAj0 + AZoBOAGaAfQCAAH0ARQB9AEUAfQBFAH0ARQB9AEUAfQBFAL0ARQB9BIAAfQBFAH0BhQB9AEUAfQCAAH0 + ARQI9AHvAvQB/wIAAfQBFAL0AhQB9AEUAfQBFAH0ARQC9AEUAfQSAAH0ARQI9AEUAfQCAAH0ARQI9AEU + AfQEAAH0ARQB9AMUAfQDFAH0AhQB9AEUAfQSAAH0ARQB9AMUAfQEFAH0AgAB9AEUCPQBFAH0BAAB9AEU + BfQBFAb0ARQB9BIAAfQBFAX0AxQB7AH0AgAB9AEUBfQEFAH0BAAB9AEUDPQBFAH0EgAB9AEUBfQCFAHs + AfQB/wIAAfQBFAX0AxQB7AH0BAAB9AEUDPQBFAH0EgAB9AcUAZIB9AH/AwAB9AEUBfQCFAHsAfQB/wQA + AfQOFAH0EgAJ9AH/BAAB9AcUAewB9AH/BQAQ9CAACfQB/yYAAUIBTQE+BwABPgMAASgDAAFAAwABEAMA + AQEBAAEBBQABgBcAA/8BAAL/Af4BAAL/AgABwAEDAfwFAAHAAQMGAAHAAQMGAAHAAQMBAAEBBAABwAED + AQABAQQAAcABAwEAAQMEAAHAAQMBAAEDBAABwAEDAQABAwQAAcABAwEAAQ8EAAHAAQMBAAEPBAABwAED + AQABDwQAAcABAwEAAQ8EAAHAAQcBAAEPBAABwAEPAQABHwQAAv8BAAE/Av8CAAs= + + + + 374, 17 + + + + AAABAAIAEBAAAAAAIABoBAAAJgAAACAgAAAAACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAEAE + AAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B9vb2bfb29vf29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29vv29vaB////Af///wH///8B////Afb29vdTU1P/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9VVVX/8/Pz+////wH///8B////Af///wH29vb/QkJC//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b29v////8B////Af///wH///8B9vb2/0JCQv/x7/D/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/8e/w/0JCQv/29vb/////Af///wH///8B////Afb29v9CQkL/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2/////wH///8B////Af///wH29vb/QkJC//Hv + 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/x7/D/QkJC//b29v////8B////Af///wH///8B9vb2/0JC + Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/29vb/////Af///wH///8B////Afb2 + 9v9CQkL/8e/w/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//Hv8P9CQkL/9vb2/////wH///8B////Af// + /wH29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b29v////8B////Af// + /wH///8B9vb2/0JCQv/x7/D/QkJC/0JCQv9CQkL/mZiZ/5mYmf9CQkL/QkJC/1NTU//29vb/////Af// + /wH///8B////Afb29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P+ZmJn/QkJC/1NTU//a2tr/9vb2j/// + /wH///8B////Af///wHz8/P/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/mZiZ/1NTU//a2tr/9vb2j/// + /wH///8B////Af///wH///8B8/Pz91NTU/9CQkL/QkJC/0JCQv9CQkL/QkJC/1NTU//a2tr/9vb2j/// + /wH///8B////Af///wH///8B////Afb29m329vb39vb2//b29v/29vb/9vb2//b29v/29vb/9vb2e/// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AQAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8oAAAAIAAAAEAAAAABACAAAAAAAIAQAAAAAAAAAAAAAAAA + AAAAAAAA////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B9vb2Yfb29t/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vbv9vb2gf///wH///8B////Af///wH///8B////Af///wH///8B////Afb29lH29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2gf///wH///8B////Af///wH///8B////Af///wH///8B9vb23/b2 + 9v+Ghob/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/kZGR//b29v/29vbv////Af///wH///8B////Af///wH///8B////Af// + /wH29vb/9vb2/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/6+vr//b29v////8B////Af///wH///8B////Af// + /wH///8B////Afb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/////wH///8B////Af// + /wH///8B////Af///wH///8B9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/////Af// + /wH///8B////Af///wH///8B////Af///wH29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/x7/D/8e/w/0JCQv9CQkL/9vb2//b2 + 9v////8B////Af///wH///8B////Af///wH///8B////Afb29v/29vb/QkJC/0JCQv/x7/D/8e/w/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC//Hv8P/x7/D/QkJC/0JC + Qv/29vb/9vb2/////wH///8B////Af///wH///8B////Af///wH///8B9vb2//b29v9CQkL/QkJC//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P9CQkL/QkJC//b29v/29vb/////Af///wH///8B////Af///wH///8B////Af///wH29vb/9vb2/0JC + Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v////8B////Af///wH///8B////Af///wH///8B////Afb2 + 9v/29vb/QkJC/0JCQv/x7/D/8e/w/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2/////wH///8B////Af///wH///8B////Af// + /wH///8B9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/////Af///wH///8B////Af// + /wH///8B////Af///wH29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/9vb2//b29v////8B////Af// + /wH///8B////Af///wH///8B////Afb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv/29vb/9vb2//// + /wH///8B////Af///wH///8B////Af///wH///8B9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/QkJC/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC//b2 + 9v/29vb/////Af///wH///8B////Af///wH///8B////Af///wH29vb/9vb2/0JCQv9CQkL/8e/w//Hv + 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv/x7/D/8e/w/0JC + Qv9CQkL/9vb2//b29v////8B////Af///wH///8B////Af///wH///8B////Afb29v/29vb/QkJC/0JC + Qv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/QkJC/0JCQv/29vb/9vb2/////wH///8B////Af///wH///8B////Af///wH///8B9vb2//b2 + 9v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P9CQkL/QkJC//b29v/29vb/////Af///wH///8B////Af///wH///8B////Af// + /wH29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv + 8P9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//b29v////8B////Af///wH///8B////Af// + /wH///8B////Afb29v/29vb/QkJC/0JCQv/x7/D/8e/w/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv/x7/D/8e/w/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/4aGhv/29vb/9vb2/////wH///8B////Af// + /wH///8B////Af///wH///8B9vb2//b29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv+Ghob/9vb2//b29v/29vaf////Af// + /wH///8B////Af///wH///8B////Af///wH29vb/9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/QkJC/0JCQv9CQkL/hoaG//b29v/29vb/9vb2n/// + /wH///8B////Af///wH///8B////Af///wH///8B////Afb29v/29vb/QkJC/0JCQv/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv9CQkL/QkJC/4aGhv/29vb/9vb2//b2 + 9p////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B9vb2/+vr6/9CQkL/QkJC//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC/0JCQv+Ghob/9vb2//b2 + 9v/29vaf////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH29vb/6+vr/0JC + Qv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/hoaG//b2 + 9v/29vb/9vb2n////wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Afb2 + 9t/29vb/hoaG/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/4aG + hv/29vb/9vb2//b29p////8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B9vb2Yfb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vaP////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B9vb2Ufb29t/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/9vb2//b29v/29vb/9vb2Yf///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + \ No newline at end of file diff --git a/WordGen/View/SyllabaryForm.Designer.cs b/WordGen/View/SyllabaryForm.Designer.cs new file mode 100644 index 0000000..02e1bf8 --- /dev/null +++ b/WordGen/View/SyllabaryForm.Designer.cs @@ -0,0 +1,342 @@ +namespace WordGen.View { + partial class SyllabaryForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SyllabaryForm)); + this.LsyllabaryName = new System.Windows.Forms.Label(); + this.TBsyllabaryName = new System.Windows.Forms.TextBox(); + this.TBconsonants = new System.Windows.Forms.TextBox(); + this.TBvowels = new System.Windows.Forms.TextBox(); + this.TBsyllables = new System.Windows.Forms.TextBox(); + this.Cliste = new System.Windows.Forms.TableLayoutPanel(); + this.Lsyllable = new System.Windows.Forms.Label(); + this.Lconsonant = new System.Windows.Forms.Label(); + this.Lvowel = new System.Windows.Forms.Label(); + this.DDbeginSyllables = new System.Windows.Forms.ComboBox(); + this.DDendSyllables = new System.Windows.Forms.ComboBox(); + this.EPsyllabary = new System.Windows.Forms.ErrorProvider(this.components); + this.BCancel = new System.Windows.Forms.Button(); + this.BOk = new System.Windows.Forms.Button(); + this.LbeginSyllable = new System.Windows.Forms.Label(); + this.LendSyllable = new System.Windows.Forms.Label(); + this.TTsyllablesHelp = new System.Windows.Forms.ToolTip(this.components); + this.LhelpBeginSyllable = new System.Windows.Forms.Label(); + this.LhelpEndSyllable = new System.Windows.Forms.Label(); + this.Cliste.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.EPsyllabary)).BeginInit(); + this.SuspendLayout(); + // + // LsyllabaryName + // + this.LsyllabaryName.AutoSize = true; + this.LsyllabaryName.Location = new System.Drawing.Point(12, 15); + this.LsyllabaryName.Name = "LsyllabaryName"; + this.LsyllabaryName.Size = new System.Drawing.Size(100, 13); + this.LsyllabaryName.TabIndex = 0; + this.LsyllabaryName.Text = "Nom du Syllabaire"; + // + // TBsyllabaryName + // + this.TBsyllabaryName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TBsyllabaryName.Location = new System.Drawing.Point(118, 12); + this.TBsyllabaryName.MaxLength = 50; + this.TBsyllabaryName.Name = "TBsyllabaryName"; + this.TBsyllabaryName.Size = new System.Drawing.Size(244, 22); + this.TBsyllabaryName.TabIndex = 1; + this.TBsyllabaryName.TextChanged += new System.EventHandler(this.TBsyllabaryName_TextChanged); + this.TBsyllabaryName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // TBconsonants + // + this.TBconsonants.Dock = System.Windows.Forms.DockStyle.Fill; + this.TBconsonants.Location = new System.Drawing.Point(128, 23); + this.TBconsonants.Multiline = true; + this.TBconsonants.Name = "TBconsonants"; + this.TBconsonants.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.TBconsonants.Size = new System.Drawing.Size(119, 202); + this.TBconsonants.TabIndex = 4; + this.TBconsonants.WordWrap = false; + this.TBconsonants.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // TBvowels + // + this.TBvowels.Dock = System.Windows.Forms.DockStyle.Fill; + this.TBvowels.Location = new System.Drawing.Point(3, 23); + this.TBvowels.Multiline = true; + this.TBvowels.Name = "TBvowels"; + this.TBvowels.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.TBvowels.Size = new System.Drawing.Size(119, 202); + this.TBvowels.TabIndex = 3; + this.TBvowels.WordWrap = false; + this.TBvowels.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // TBsyllables + // + this.TBsyllables.Dock = System.Windows.Forms.DockStyle.Fill; + this.TBsyllables.Location = new System.Drawing.Point(253, 23); + this.TBsyllables.Multiline = true; + this.TBsyllables.Name = "TBsyllables"; + this.TBsyllables.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.TBsyllables.Size = new System.Drawing.Size(120, 202); + this.TBsyllables.TabIndex = 5; + this.TBsyllables.WordWrap = false; + this.TBsyllables.TextChanged += new System.EventHandler(this.TBsyllables_TextChanged); + this.TBsyllables.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // Cliste + // + this.Cliste.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.Cliste.ColumnCount = 3; + this.Cliste.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33332F)); + this.Cliste.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.Cliste.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.Cliste.Controls.Add(this.Lsyllable, 2, 0); + this.Cliste.Controls.Add(this.Lconsonant, 1, 0); + this.Cliste.Controls.Add(this.Lvowel, 0, 0); + this.Cliste.Controls.Add(this.TBsyllables, 2, 1); + this.Cliste.Controls.Add(this.TBvowels, 0, 1); + this.Cliste.Controls.Add(this.TBconsonants, 1, 1); + this.Cliste.Location = new System.Drawing.Point(12, 40); + this.Cliste.Name = "Cliste"; + this.Cliste.RowCount = 2; + this.Cliste.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.Cliste.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.Cliste.Size = new System.Drawing.Size(376, 228); + this.Cliste.TabIndex = 2; + // + // Lsyllable + // + this.Lsyllable.AutoSize = true; + this.Lsyllable.Dock = System.Windows.Forms.DockStyle.Left; + this.Lsyllable.Location = new System.Drawing.Point(253, 0); + this.Lsyllable.Name = "Lsyllable"; + this.Lsyllable.Size = new System.Drawing.Size(43, 20); + this.Lsyllable.TabIndex = 2; + this.Lsyllable.Text = "Syllabe"; + this.Lsyllable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // Lconsonant + // + this.Lconsonant.AutoSize = true; + this.Lconsonant.Dock = System.Windows.Forms.DockStyle.Left; + this.Lconsonant.Location = new System.Drawing.Point(128, 0); + this.Lconsonant.Name = "Lconsonant"; + this.Lconsonant.Size = new System.Drawing.Size(60, 20); + this.Lconsonant.TabIndex = 1; + this.Lconsonant.Text = "Consonne"; + this.Lconsonant.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // Lvowel + // + this.Lvowel.AutoSize = true; + this.Lvowel.Dock = System.Windows.Forms.DockStyle.Left; + this.Lvowel.Location = new System.Drawing.Point(3, 0); + this.Lvowel.Name = "Lvowel"; + this.Lvowel.Size = new System.Drawing.Size(43, 20); + this.Lvowel.TabIndex = 0; + this.Lvowel.Text = "Voyelle"; + this.Lvowel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // DDbeginSyllables + // + this.DDbeginSyllables.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DDbeginSyllables.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.DDbeginSyllables.Enabled = false; + this.DDbeginSyllables.FormattingEnabled = true; + this.DDbeginSyllables.Items.AddRange(new object[] { + "Ne pas adapter", + "Choisir automatiquement", + "Intercaller automatiquement"}); + this.DDbeginSyllables.Location = new System.Drawing.Point(196, 277); + this.DDbeginSyllables.Name = "DDbeginSyllables"; + this.DDbeginSyllables.Size = new System.Drawing.Size(166, 21); + this.DDbeginSyllables.TabIndex = 4; + this.DDbeginSyllables.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // DDendSyllables + // + this.DDendSyllables.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DDendSyllables.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.DDendSyllables.Enabled = false; + this.DDendSyllables.FormattingEnabled = true; + this.DDendSyllables.Items.AddRange(new object[] { + "Ne pas adapter", + "Intercaler automatiquement"}); + this.DDendSyllables.Location = new System.Drawing.Point(196, 304); + this.DDendSyllables.Name = "DDendSyllables"; + this.DDendSyllables.Size = new System.Drawing.Size(166, 21); + this.DDendSyllables.TabIndex = 7; + this.DDendSyllables.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // EPsyllabary + // + this.EPsyllabary.ContainerControl = this; + this.EPsyllabary.Icon = ((System.Drawing.Icon)(resources.GetObject("EPsyllabary.Icon"))); + // + // BCancel + // + this.BCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.BCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.BCancel.Image = global::WordGen.Properties.Resources.Close_16xLG; + this.BCancel.Location = new System.Drawing.Point(313, 341); + this.BCancel.Name = "BCancel"; + this.BCancel.Size = new System.Drawing.Size(75, 23); + this.BCancel.TabIndex = 10; + this.BCancel.Text = "&Annuler"; + this.BCancel.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.BCancel.UseVisualStyleBackColor = true; + this.BCancel.Click += new System.EventHandler(this.BCancel_Click); + this.BCancel.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // BOk + // + this.BOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.BOk.Image = global::WordGen.Properties.Resources.StatusAnnotations_Complete_and_ok_16xLG; + this.BOk.Location = new System.Drawing.Point(232, 341); + this.BOk.Name = "BOk"; + this.BOk.Size = new System.Drawing.Size(75, 23); + this.BOk.TabIndex = 9; + this.BOk.Text = "&OK"; + this.BOk.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.BOk.UseVisualStyleBackColor = true; + this.BOk.Click += new System.EventHandler(this.BOk_Click); + this.BOk.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // LbeginSyllable + // + this.LbeginSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.LbeginSyllable.AutoSize = true; + this.LbeginSyllable.Location = new System.Drawing.Point(12, 280); + this.LbeginSyllable.Name = "LbeginSyllable"; + this.LbeginSyllable.Size = new System.Drawing.Size(97, 13); + this.LbeginSyllable.TabIndex = 3; + this.LbeginSyllable.Text = "Avant une syllabe"; + // + // LendSyllable + // + this.LendSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.LendSyllable.AutoSize = true; + this.LendSyllable.Location = new System.Drawing.Point(12, 307); + this.LendSyllable.Name = "LendSyllable"; + this.LendSyllable.Size = new System.Drawing.Size(97, 13); + this.LendSyllable.TabIndex = 6; + this.LendSyllable.Text = "Après une syllabe"; + // + // TTsyllablesHelp + // + this.TTsyllablesHelp.AutomaticDelay = 0; + this.TTsyllablesHelp.AutoPopDelay = 50000; + this.TTsyllablesHelp.InitialDelay = 500; + this.TTsyllablesHelp.ReshowDelay = 100; + this.TTsyllablesHelp.ShowAlways = true; + this.TTsyllablesHelp.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info; + // + // LhelpBeginSyllable + // + this.LhelpBeginSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.LhelpBeginSyllable.Image = global::WordGen.Properties.Resources.StatusAnnotations_Help_and_inconclusive_16xLG_color; + this.LhelpBeginSyllable.Location = new System.Drawing.Point(368, 280); + this.LhelpBeginSyllable.Name = "LhelpBeginSyllable"; + this.LhelpBeginSyllable.Size = new System.Drawing.Size(16, 16); + this.LhelpBeginSyllable.TabIndex = 5; + this.LhelpBeginSyllable.MouseHover += new System.EventHandler(this.LhelpBeginSyllable_MouseHover); + // + // LhelpEndSyllable + // + this.LhelpEndSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.LhelpEndSyllable.Image = global::WordGen.Properties.Resources.StatusAnnotations_Help_and_inconclusive_16xLG_color; + this.LhelpEndSyllable.Location = new System.Drawing.Point(368, 307); + this.LhelpEndSyllable.Name = "LhelpEndSyllable"; + this.LhelpEndSyllable.Size = new System.Drawing.Size(16, 16); + this.LhelpEndSyllable.TabIndex = 8; + this.LhelpEndSyllable.MouseHover += new System.EventHandler(this.LhelpEndSyllable_MouseHover); + // + // SyllabaryForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.BCancel; + this.ClientSize = new System.Drawing.Size(400, 376); + this.Controls.Add(this.DDbeginSyllables); + this.Controls.Add(this.LbeginSyllable); + this.Controls.Add(this.LhelpBeginSyllable); + this.Controls.Add(this.DDendSyllables); + this.Controls.Add(this.LendSyllable); + this.Controls.Add(this.LhelpEndSyllable); + this.Controls.Add(this.BCancel); + this.Controls.Add(this.BOk); + this.Controls.Add(this.Cliste); + this.Controls.Add(this.TBsyllabaryName); + this.Controls.Add(this.LsyllabaryName); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(400, 400); + this.Name = "SyllabaryForm"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Syllabaire"; + this.Load += new System.EventHandler(this.Syllabaire_Load); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + this.Cliste.ResumeLayout(false); + this.Cliste.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.EPsyllabary)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label LsyllabaryName; + private System.Windows.Forms.TextBox TBsyllabaryName; + private System.Windows.Forms.TextBox TBconsonants; + private System.Windows.Forms.TextBox TBvowels; + private System.Windows.Forms.TextBox TBsyllables; + private System.Windows.Forms.TableLayoutPanel Cliste; + private System.Windows.Forms.Button BOk; + private System.Windows.Forms.Button BCancel; + private System.Windows.Forms.ComboBox DDbeginSyllables; + private System.Windows.Forms.ComboBox DDendSyllables; + private System.Windows.Forms.ErrorProvider EPsyllabary; + private System.Windows.Forms.ToolTip TTsyllablesHelp; + private System.Windows.Forms.Label Lsyllable; + private System.Windows.Forms.Label Lconsonant; + private System.Windows.Forms.Label Lvowel; + private System.Windows.Forms.Label LendSyllable; + private System.Windows.Forms.Label LbeginSyllable; + private System.Windows.Forms.Label LhelpBeginSyllable; + private System.Windows.Forms.Label LhelpEndSyllable; + + public object getSyllabaire { get; internal set; } + + } +} \ No newline at end of file diff --git a/WordGen/View/SyllabaryForm.cs b/WordGen/View/SyllabaryForm.cs new file mode 100644 index 0000000..de57eda --- /dev/null +++ b/WordGen/View/SyllabaryForm.cs @@ -0,0 +1,149 @@ +using WordGen.Model; +using WordGen.View.LocalizationString; +using System; +using System.Text; +using System.Windows.Forms; + + +namespace WordGen.View { + public partial class SyllabaryForm : Form { + + private Syllabary _mysillab; + + public Syllabary MySyllabaire { + get { return _mysillab; } + } + + // Default constructor (New) + public SyllabaryForm() { + InitializeComponent(); + _mysillab = new Syllabary(); + DDbeginSyllables.SelectedIndex = 0; + DDendSyllables.SelectedIndex = 0; + + } + + // Constructor with Syllabary to load (Edit) + public SyllabaryForm(Syllabary thisSyllabary) { + InitializeComponent(); + _mysillab = thisSyllabary; + TBsyllabaryName.Text = thisSyllabary.title; + StringBuilder composer = new StringBuilder(); + + foreach (var aCons in thisSyllabary.consonants) { + composer.AppendLine(aCons); + } + TBconsonants.Text = composer.ToString(); + + composer.Clear(); + foreach (var aVow in thisSyllabary.vowels) { + composer.AppendLine(aVow); + } + TBvowels.Text = composer.ToString(); + + composer.Clear(); + foreach (var aSyl in thisSyllabary.syllables) { + composer.AppendLine(aSyl); + } + TBsyllables.Text = composer.ToString(); + + DDbeginSyllables.SelectedIndex = (int)_mysillab.beforeSyllable; + DDendSyllables.SelectedIndex = (int)_mysillab.afterSyllable; + + } + + private void Syllabaire_Load(object sender, EventArgs e) { + TTsyllablesHelp.SetToolTip(LhelpBeginSyllable, Messages.SyllabaireForm_HelpBeginSyllable); + TTsyllablesHelp.SetToolTip(LhelpEndSyllable, Messages.SyllabaireForm_HelpEndSyllable); + } + + private bool form_validation() { + bool everythingOK = true; + if (String.IsNullOrEmpty(TBsyllabaryName.Text.Trim())) { + everythingOK = false; + EPsyllabary.SetError(TBsyllabaryName, Messages.SyllabaireForm_ErrorNoName); + } + + if (String.IsNullOrEmpty(TBconsonants.Text.Trim()) && String.IsNullOrEmpty(TBvowels.Text.Trim()) && String.IsNullOrEmpty(TBsyllables.Text.Trim())) { + everythingOK = false; + EPsyllabary.SetError(Lsyllable, Messages.SyllabaireForm_ErrorNoUseElements); + } + + string[] slipschars = { "\r\n" }; + + if (everythingOK) { + _mysillab.title = TBsyllabaryName.Text; + _mysillab.consonants.Clear(); + _mysillab.vowels.Clear(); + _mysillab.syllables.Clear(); + _mysillab.consonants.AddRange(TBconsonants.Text.Split(slipschars, StringSplitOptions.RemoveEmptyEntries)); + _mysillab.syllables.AddRange(TBsyllables.Text.Split(slipschars, StringSplitOptions.RemoveEmptyEntries)); + _mysillab.vowels.AddRange(TBvowels.Text.Split(slipschars, StringSplitOptions.RemoveEmptyEntries)); + switch (DDbeginSyllables.SelectedIndex) { + case 1: + _mysillab.beforeSyllable = BeforeSyllable.AutoSelect; + break; + case 2: + _mysillab.beforeSyllable = BeforeSyllable.AutoInsert; + break; + default: + _mysillab.beforeSyllable = BeforeSyllable.AsIs; + break; + } + + switch (DDendSyllables.SelectedIndex) { + case 1: + _mysillab.afterSyllable = AfterSyllable.AutoInsert; + break; + default: + _mysillab.afterSyllable = AfterSyllable.AsIs; + break; + } + } + return everythingOK; + } + + private void BOk_Click(object sender, EventArgs e) { + if (form_validation()) { + this.DialogResult = DialogResult.OK; + this.Close(); + } + } + + private void TBsyllabaryName_TextChanged(object sender, EventArgs e) { + EPsyllabary.SetError(TBsyllabaryName, String.Empty); + } + + private void BCancel_Click(object sender, EventArgs e) { + this.DialogResult = DialogResult.Cancel; + this.Close(); + this.Dispose(); + } + + private void SyllabaireForm_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { + if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.Enter) { + e.Handled = true; + e.SuppressKeyPress = true; + if (form_validation()) { + this.DialogResult = DialogResult.OK; + this.Close(); + } + } + } + + + private void TBsyllables_TextChanged(object sender, EventArgs e) { + var useSyllables = !String.IsNullOrEmpty(TBsyllables.Text.Trim()); + DDendSyllables.Enabled = useSyllables; + DDbeginSyllables.Enabled = useSyllables; + } + + private void LhelpBeginSyllable_MouseHover(object sender, EventArgs e) { + TTsyllablesHelp.ToolTipTitle = Messages.SyllabaireForm_HelpBeginSyllableTitle; + } + + private void LhelpEndSyllable_MouseHover(object sender, EventArgs e) { + TTsyllablesHelp.ToolTipTitle = Messages.SyllabaireForm_HelpEndSyllableTitle; + } + } +} diff --git a/WordGen/View/SyllabaryForm.resx b/WordGen/View/SyllabaryForm.resx new file mode 100644 index 0000000..ec1ea35 --- /dev/null +++ b/WordGen/View/SyllabaryForm.resx @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v/29vb/////Af///wH29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/9vb2/////wH///8B9vb2//b29v9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/QkJC//b29v////8B////Afb29v9CQkL/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w/0JCQv/29vb/////Af///wH29vb/9vb2/0JCQv/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P9CQkL/9vb2/////wH///8B9vb2/0JCQv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b29v////8B////Afb29v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/29vb/////Af///wH29vb/QkJC/0JCQv/x7/D/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P9CQkL/9vb2/////wH///8B9vb2//b29v9CQkL/8e/w//Hv + 8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b29v////8B////Afb29v9CQkL/QkJC//Hv + 8P/x7/D/QkJC/0JCQv9CQkL/QkJC/0JCQv/x7/D/8e/w/0JCQv/29vb/////Af///wH29vb/9vb2/0JC + Qv/x7/D/8e/w/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/9vb2/////wH///8B9vb2/0JC + Qv9CQkL/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/QkJC//b29v////8B////Afb2 + 9v/29vb/QkJC//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w//Hv8P/x7/D/8e/w/0JCQv/29vb/////Af// + /wH29vb/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/9vb2//// + /wH///8B9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9v////8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD///8B9vb2n/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9p////8B9vb2n7Ozs/9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv+zs7P/9vb2n/b29t9ZWVn/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/WVlZ//b29t/29vZhs7Oz/0JCQv9CQkL/QkJC/0JCQv9CQkL/8e/w//Hv8P9CQkL/QkJC/0JC + Qv9CQkL/QkJC/7Ozs//29vZh////Afb29t9ZWVn/QkJC/0JCQv9CQkL/QkJC//Hv8P/x7/D/QkJC/0JC + Qv9CQkL/QkJC/1lZWf/29vbf////Af///wH29vZhs7Oz/0JCQv9CQkL/QkJC/0JCQv9CQkL/QkJC/0JC + Qv9CQkL/QkJC/0JCQv+zs7P/9vb2Yf///wH///8B////Afb29t9ZWVn/QkJC/0JCQv9CQkL/8e/w//Hv + 8P9CQkL/QkJC/0JCQv9ZWVn/9vb23////wH///8B////Af///wH29vZhs7Oz/0JCQv9CQkL/QkJC//Hv + 8P/x7/D/QkJC/0JCQv9CQkL/s7Oz//b29mH///8B////Af///wH///8B////Afb29t9ZWVn/QkJC/0JC + Qv/x7/D/8e/w/0JCQv9CQkL/WVlZ//b29t////8B////Af///wH///8B////Af///wH29vZhs7Oz/0JC + Qv9CQkL/8e/w//Hv8P9CQkL/QkJC/7Ozs//29vZh////Af///wH///8B////Af///wH///8B////Afb2 + 9t9ZWVn/QkJC//Hv8P/x7/D/QkJC/1lZWf/29vbf////Af///wH///8B////Af///wH///8B////Af// + /wH29vZhs7Oz/0JCQv9CQkL/QkJC/0JCQv+zs7P/9vb2Yf///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29t9ZWVn/QkJC/0JCQv9ZWVn/9vb23////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH29vZhs7Oz/0JCQv9CQkL/s7Oz//b29mH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Afb29t9ZWVn/WVlZ//b29t////8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH29vZh9vb2//b29v/29vZh////Af///wH///8B////Af// + /wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + + 129, 17 + + \ No newline at end of file diff --git a/WordGen/WordGen.csproj b/WordGen/WordGen.csproj new file mode 100644 index 0000000..8a53fa1 --- /dev/null +++ b/WordGen/WordGen.csproj @@ -0,0 +1,314 @@ + + + + + Debug + AnyCPU + {C3EAC4E8-793D-4E5C-A76E-2A8A8BB72562} + WinExe + Properties + WordGen + WordGen + v4.5.2 + 512 + true + SAK + SAK + SAK + SAK + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + Messages.resx + + + Form + + + MainForm.cs + + + Form + + + ManageSyllabaryForm.cs + + + Form + + + ResultForm.cs + + + Form + + + SyllabaryForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + PublicResXFileCodeGenerator + Messages1.Designer.cs + Designer + + + MainForm.cs + + + ManageSyllabaryForm.cs + + + ResultForm.cs + + + SyllabaryForm.cs + + + + + PublicSettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WordGenXmlViewer/App.config b/WordGenXmlViewer/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/WordGenXmlViewer/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/WordGenXmlViewer/Enumerations/AfterSyllable.cs b/WordGenXmlViewer/Enumerations/AfterSyllable.cs new file mode 100644 index 0000000..53dd74c --- /dev/null +++ b/WordGenXmlViewer/Enumerations/AfterSyllable.cs @@ -0,0 +1,7 @@ +using System; + +[Flags] +public enum AfterSyllable : int { + AsIs, + AutoInsert +} \ No newline at end of file diff --git a/WordGenXmlViewer/Enumerations/BeforeSyllable.cs b/WordGenXmlViewer/Enumerations/BeforeSyllable.cs new file mode 100644 index 0000000..f898e3f --- /dev/null +++ b/WordGenXmlViewer/Enumerations/BeforeSyllable.cs @@ -0,0 +1,8 @@ +using System; + +[Flags] +public enum BeforeSyllable : int { + AsIs, + AutoSelect, + AutoInsert +} \ No newline at end of file diff --git a/WordGenXmlViewer/Persistance/FileManager.cs b/WordGenXmlViewer/Persistance/FileManager.cs new file mode 100644 index 0000000..0cba49e --- /dev/null +++ b/WordGenXmlViewer/Persistance/FileManager.cs @@ -0,0 +1,8 @@ + + + /// + /// Gère les interactions I/O entre les objets en mémoire et les fichiers sauvegardés + /// + public class FileIoManager { + + } \ No newline at end of file diff --git a/WordGenXmlViewer/Persistance/SyllabaryIoManager.cs b/WordGenXmlViewer/Persistance/SyllabaryIoManager.cs new file mode 100644 index 0000000..6717ad4 --- /dev/null +++ b/WordGenXmlViewer/Persistance/SyllabaryIoManager.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Xml.Serialization; + + + /// + /// Représente un gestionnaire de sauvegarde et de lecture d'un ou plusieurs Syllabaires pour l'application en exposant des méthodes permettant de gérer des fichiers XML représentant des Syllabaires. + /// + public class SyllabaryIoManager : FileIoManager { + + /// + /// Représente le dossier local applicatif et utilisateur. + /// + public String UserAppData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); + + + /// + /// Sauvegarde le Syllabaire dans un fichier a l'emplacement indiqué. Utilise le titre comme nom de fichier. + /// + /// Le sillabraire à sauvegarder dans un fichier XML + /// L'emplacement du dossier dans lequel ce Syllabaire sera créé. Si l'URI est un fichier, son nom est utilisé à la place du titre du Syllabaire. + public void saveSyllabary(Syllabary thisSyllabary, Uri thisFolder) { + XmlSerializer xs = new XmlSerializer(typeof(Syllabary)); + using (StreamWriter wr = new StreamWriter(thisFolder.AbsolutePath)) { + xs.Serialize(wr, thisSyllabary); + } + } + + /// + /// Charge le Syllabaire depuis le fichier précisé + /// + /// L'emplacement du fichier XML représentant un Syllabaire + public Syllabary loadSyllabary(Uri thisSillabaryFile) { + XmlSerializer xs = new XmlSerializer(typeof(Syllabary)); + using (StreamReader sr = new StreamReader(thisSillabaryFile.AbsolutePath)) { + Syllabary mySylla = xs.Deserialize(sr) as Syllabary; + return mySylla; + } + } + + /// + /// Charge l'ensemble des fichier Syllabaire depuis le dossier précisé + /// + /// L'emplacement du dossier dans lequel les Syllabaires seront chargés. + public List loadAllSyllabaries(Uri thisFolder) { + throw new System.NotImplementedException(); + } + + /// + /// Sauvegarde l'ensemble des objets Syllabaires spécifiés à l'emplacement spécifié. + /// + /// La liste des Syllabaires à sauvegarder dans des fichiers XML. + /// L'emplacement du dossier dans lequel les Syllabaires seront créés. + public void saveAllSyllabaries(List thosesSillabaries, Uri thisFolder) { + throw new System.NotImplementedException(); + } + } diff --git a/WordGenXmlViewer/Program.cs b/WordGenXmlViewer/Program.cs new file mode 100644 index 0000000..6becb5f --- /dev/null +++ b/WordGenXmlViewer/Program.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + + static class Program { + /// + /// Point d'entrée principal de l'application. + /// + [STAThread] + static void Main() { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new SyllabaryForm()); + } + } diff --git a/WordGenXmlViewer/Properties/AssemblyInfo.cs b/WordGenXmlViewer/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..06aba4c --- /dev/null +++ b/WordGenXmlViewer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Les informations générales relatives à un assembly dépendent de +// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations +// associées à un assembly. +[assembly: AssemblyTitle("WordGenXmlViewer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("WordGenXmlViewer")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly +// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de +// COM, affectez la valeur true à l'attribut ComVisible sur ce type. +[assembly: ComVisible(false)] + +// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM +[assembly: Guid("3868af69-f1ac-43a5-b4c8-47af2737b295")] + +// Les informations de version pour un assembly se composent des quatre valeurs suivantes : +// +// Version principale +// Version secondaire +// Numéro de build +// Révision +// +// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut +// en utilisant '*', comme indiqué ci-dessous : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WordGenXmlViewer/Properties/Resources.Designer.cs b/WordGenXmlViewer/Properties/Resources.Designer.cs new file mode 100644 index 0000000..15bd7f4 --- /dev/null +++ b/WordGenXmlViewer/Properties/Resources.Designer.cs @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace WordGenXmlViewer.Properties { + using System; + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WordGenXmlViewer.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Close_6519_32 { + get { + object obj = ResourceManager.GetObject("Close_6519_32", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Open_6529 { + get { + object obj = ResourceManager.GetObject("Open_6529", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Recherche une ressource localisée de type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap save_16xLG { + get { + object obj = ResourceManager.GetObject("save_16xLG", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/WordGenXmlViewer/Properties/Resources.resx b/WordGenXmlViewer/Properties/Resources.resx new file mode 100644 index 0000000..eebc9e0 --- /dev/null +++ b/WordGenXmlViewer/Properties/Resources.resx @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\Close_6519_32.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Open_6529.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\save_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/WordGenXmlViewer/Properties/Settings.Designer.cs b/WordGenXmlViewer/Properties/Settings.Designer.cs new file mode 100644 index 0000000..d86c212 --- /dev/null +++ b/WordGenXmlViewer/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace WordGenXmlViewer.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/WordGenXmlViewer/Properties/Settings.settings b/WordGenXmlViewer/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/WordGenXmlViewer/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/WordGenXmlViewer/Resources/Close_6519_32.bmp b/WordGenXmlViewer/Resources/Close_6519_32.bmp new file mode 100644 index 0000000000000000000000000000000000000000..e53a28e70747155ad62c6c6672176b0b4037add8 GIT binary patch literal 1080 zcmZ?rwP0ZY12Z700mK4O%*dbsWHB%>0p$<#K`>YVN__kFje%SYG6JNxYTF%>F-YI2 z{-GUy$myni=S^@LSbp&}N_v8cqo)y=-jtGq47_R!8RoCJ2G)nn2kG5><2}R2_a9I& z$SjzC5DnAg9<>d{th9y4ai&XNc7QFyLV)C9da?N* QW;YhCU?G@1F*J5F0G*Es5C8xG literal 0 HcmV?d00001 diff --git a/WordGenXmlViewer/Resources/Open_6529.png b/WordGenXmlViewer/Resources/Open_6529.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e1d55f3070837fdf2b5411629c2229aa82855b GIT binary patch literal 411 zcmV;M0c8G(P)9HB-P;NgnEBu;qtP&Ox`|4b!U4>T z`%n*&#LW`{74wt5@OosnnO{JcaPwnw0k!BHjq?D$IWpW`W)9PLA{qq4Gc=1zo-Y=E zE`UpF#x|L{+GS?qDq$K0Se3Z8r;UJmKu>JH%*bSgNWU;fMQYiNDKvse<|2q}Y8h?) z+W!MUJf&7p{4jVi^$+G+*ui|cMdAISJb+3} zHnn!7Nw7oy?y&L#&bq7)!VaHC4tnMsB}&g(0q}|j_yQ+{h>cBBshR))002ovPDHLk FV1kwtv0VTF literal 0 HcmV?d00001 diff --git a/WordGenXmlViewer/Resources/save_16xLG.png b/WordGenXmlViewer/Resources/save_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..2542dfcf0132a5ad9fb923db8d052ef8bdddca7a GIT binary patch literal 2927 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 Z900`DGDrg9jKTl_002ovPDHLkV1k0>YaRdq literal 0 HcmV?d00001 diff --git a/WordGenXmlViewer/Syllabary.cs b/WordGenXmlViewer/Syllabary.cs new file mode 100644 index 0000000..30c1842 --- /dev/null +++ b/WordGenXmlViewer/Syllabary.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; + + /// + /// Represends a manageable collection of syllables, consonants and/or vowels. + /// + [XmlRoot] + public class Syllabary : ICloneable { + /// + /// The title of the syllabary, like a language. + /// + [XmlElement("Title")] + public string title { get; set; } + /// + /// The list of syllable the syllabary contains. A syllable is a combination of consonants and vowels. + /// + [XmlArray("Syllables")] + [XmlArrayItem("Syllable")] + public List syllables { get; set; } + /// + /// The list of consonants the syllabary contains. A consonant is a speech sound that is articulated with complete or partial closure of the vocal tract. + /// + [XmlArray("Consonants")] + [XmlArrayItem("consonant")] + public List consonants { get; set; } + /// + /// The list of vowels or semivowels the syllabary contains. A vowel is a sound pronounced with an open vocal tract so that there is no build-up of air pressure at any point above the glottis. + /// + [XmlArray("Vowels")] + [XmlArrayItem("Vowel")] + public List vowels { get; set; } + /// + /// The way the software will join a syllable with the previous added element. + /// + [XmlElement("beforeSyllable")] + public BeforeSyllable beforeSyllable; + /// + /// The way the software will join the next element with the added syllable. + /// + [XmlElement("afterSyllable")] + public AfterSyllable afterSyllable; + + public Syllabary() { + this.syllables = new List(); + this.consonants = new List(); + this.vowels = new List(); + } + + protected Syllabary(Syllabary aSyllabary) { + title = aSyllabary.title; + syllables = new List(aSyllabary.syllables); + consonants = new List(aSyllabary.consonants); + vowels = new List(aSyllabary.vowels); + beforeSyllable = aSyllabary.beforeSyllable; + afterSyllable = aSyllabary.afterSyllable; + } + + public object Clone() { + return new Syllabary(this); + } + } diff --git a/WordGenXmlViewer/SyllabaryForm.Designer.cs b/WordGenXmlViewer/SyllabaryForm.Designer.cs new file mode 100644 index 0000000..1f4551d --- /dev/null +++ b/WordGenXmlViewer/SyllabaryForm.Designer.cs @@ -0,0 +1,344 @@ + + partial class SyllabaryForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SyllabaryForm)); + this.LsyllabaryName = new System.Windows.Forms.Label(); + this.TBsyllabaryName = new System.Windows.Forms.TextBox(); + this.TBconsonants = new System.Windows.Forms.TextBox(); + this.TBvowels = new System.Windows.Forms.TextBox(); + this.TBsyllables = new System.Windows.Forms.TextBox(); + this.Cliste = new System.Windows.Forms.TableLayoutPanel(); + this.Lsyllable = new System.Windows.Forms.Label(); + this.Lconsonant = new System.Windows.Forms.Label(); + this.Lvowel = new System.Windows.Forms.Label(); + this.DDbeginSyllables = new System.Windows.Forms.ComboBox(); + this.DDendSyllables = new System.Windows.Forms.ComboBox(); + this.EPsyllabary = new System.Windows.Forms.ErrorProvider(this.components); + this.LbeginSyllable = new System.Windows.Forms.Label(); + this.LendSyllable = new System.Windows.Forms.Label(); + this.TTsyllablesHelp = new System.Windows.Forms.ToolTip(this.components); + this.LhelpEndSyllable = new System.Windows.Forms.Label(); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); + this.toolStripButton3 = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripButton2 = new System.Windows.Forms.ToolStripButton(); + this.Cliste.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.EPsyllabary)).BeginInit(); + this.toolStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // LsyllabaryName + // + this.LsyllabaryName.AutoSize = true; + this.LsyllabaryName.Location = new System.Drawing.Point(12, 31); + this.LsyllabaryName.Name = "LsyllabaryName"; + this.LsyllabaryName.Size = new System.Drawing.Size(100, 13); + this.LsyllabaryName.TabIndex = 0; + this.LsyllabaryName.Text = "Nom du Syllabaire"; + // + // TBsyllabaryName + // + this.TBsyllabaryName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.TBsyllabaryName.Location = new System.Drawing.Point(118, 28); + this.TBsyllabaryName.MaxLength = 50; + this.TBsyllabaryName.Name = "TBsyllabaryName"; + this.TBsyllabaryName.Size = new System.Drawing.Size(228, 22); + this.TBsyllabaryName.TabIndex = 1; + this.TBsyllabaryName.TextChanged += new System.EventHandler(this.TBsyllabaryName_TextChanged); + this.TBsyllabaryName.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // TBconsonants + // + this.TBconsonants.Dock = System.Windows.Forms.DockStyle.Fill; + this.TBconsonants.Location = new System.Drawing.Point(3, 23); + this.TBconsonants.Multiline = true; + this.TBconsonants.Name = "TBconsonants"; + this.TBconsonants.Size = new System.Drawing.Size(113, 213); + this.TBconsonants.TabIndex = 0; + this.TBconsonants.WordWrap = false; + this.TBconsonants.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // TBvowels + // + this.TBvowels.Dock = System.Windows.Forms.DockStyle.Fill; + this.TBvowels.Location = new System.Drawing.Point(122, 23); + this.TBvowels.Multiline = true; + this.TBvowels.Name = "TBvowels"; + this.TBvowels.Size = new System.Drawing.Size(114, 213); + this.TBvowels.TabIndex = 1; + this.TBvowels.WordWrap = false; + this.TBvowels.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // TBsyllables + // + this.TBsyllables.Dock = System.Windows.Forms.DockStyle.Fill; + this.TBsyllables.Location = new System.Drawing.Point(242, 23); + this.TBsyllables.Multiline = true; + this.TBsyllables.Name = "TBsyllables"; + this.TBsyllables.Size = new System.Drawing.Size(115, 213); + this.TBsyllables.TabIndex = 2; + this.TBsyllables.WordWrap = false; + this.TBsyllables.TextChanged += new System.EventHandler(this.TBsyllables_TextChanged); + this.TBsyllables.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // Cliste + // + this.Cliste.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.Cliste.ColumnCount = 3; + this.Cliste.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33332F)); + this.Cliste.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.Cliste.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); + this.Cliste.Controls.Add(this.Lsyllable, 2, 0); + this.Cliste.Controls.Add(this.Lconsonant, 1, 0); + this.Cliste.Controls.Add(this.Lvowel, 0, 0); + this.Cliste.Controls.Add(this.TBconsonants, 0, 1); + this.Cliste.Controls.Add(this.TBsyllables, 2, 1); + this.Cliste.Controls.Add(this.TBvowels, 1, 1); + this.Cliste.Location = new System.Drawing.Point(12, 56); + this.Cliste.Name = "Cliste"; + this.Cliste.RowCount = 2; + this.Cliste.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.Cliste.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.Cliste.Size = new System.Drawing.Size(360, 239); + this.Cliste.TabIndex = 4; + // + // Lsyllable + // + this.Lsyllable.AutoSize = true; + this.Lsyllable.Dock = System.Windows.Forms.DockStyle.Left; + this.Lsyllable.Location = new System.Drawing.Point(242, 0); + this.Lsyllable.Name = "Lsyllable"; + this.Lsyllable.Size = new System.Drawing.Size(46, 20); + this.Lsyllable.TabIndex = 6; + this.Lsyllable.Text = "Syllable"; + this.Lsyllable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // Lconsonant + // + this.Lconsonant.AutoSize = true; + this.Lconsonant.Dock = System.Windows.Forms.DockStyle.Left; + this.Lconsonant.Location = new System.Drawing.Point(122, 0); + this.Lconsonant.Name = "Lconsonant"; + this.Lconsonant.Size = new System.Drawing.Size(60, 20); + this.Lconsonant.TabIndex = 5; + this.Lconsonant.Text = "Consonne"; + this.Lconsonant.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // Lvowel + // + this.Lvowel.AutoSize = true; + this.Lvowel.Dock = System.Windows.Forms.DockStyle.Left; + this.Lvowel.Location = new System.Drawing.Point(3, 0); + this.Lvowel.Name = "Lvowel"; + this.Lvowel.Size = new System.Drawing.Size(43, 20); + this.Lvowel.TabIndex = 4; + this.Lvowel.Text = "Voyelle"; + this.Lvowel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // DDbeginSyllables + // + this.DDbeginSyllables.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DDbeginSyllables.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.DDbeginSyllables.Enabled = false; + this.DDbeginSyllables.FormattingEnabled = true; + this.DDbeginSyllables.Items.AddRange(new object[] { + "Ne pas adapter", + "Choisir automatiquement", + "Intercaller automatiquement"}); + this.DDbeginSyllables.Location = new System.Drawing.Point(222, 301); + this.DDbeginSyllables.Name = "DDbeginSyllables"; + this.DDbeginSyllables.Size = new System.Drawing.Size(150, 21); + this.DDbeginSyllables.TabIndex = 6; + this.DDbeginSyllables.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // DDendSyllables + // + this.DDendSyllables.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.DDendSyllables.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.DDendSyllables.Enabled = false; + this.DDendSyllables.FormattingEnabled = true; + this.DDendSyllables.Items.AddRange(new object[] { + "Ne pas adapter", + "Intercaler automatiquement"}); + this.DDendSyllables.Location = new System.Drawing.Point(222, 328); + this.DDendSyllables.Name = "DDendSyllables"; + this.DDendSyllables.Size = new System.Drawing.Size(150, 21); + this.DDendSyllables.TabIndex = 8; + this.DDendSyllables.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + // + // EPsyllabary + // + this.EPsyllabary.ContainerControl = this; + this.EPsyllabary.Icon = ((System.Drawing.Icon)(resources.GetObject("EPsyllabary.Icon"))); + // + // LbeginSyllable + // + this.LbeginSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.LbeginSyllable.AutoSize = true; + this.LbeginSyllable.Location = new System.Drawing.Point(12, 304); + this.LbeginSyllable.Name = "LbeginSyllable"; + this.LbeginSyllable.Size = new System.Drawing.Size(97, 13); + this.LbeginSyllable.TabIndex = 5; + this.LbeginSyllable.Text = "Avant une syllabe"; + // + // LendSyllable + // + this.LendSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.LendSyllable.AutoSize = true; + this.LendSyllable.Location = new System.Drawing.Point(12, 331); + this.LendSyllable.Name = "LendSyllable"; + this.LendSyllable.Size = new System.Drawing.Size(97, 13); + this.LendSyllable.TabIndex = 7; + this.LendSyllable.Text = "Après une syllabe"; + // + // TTsyllablesHelp + // + this.TTsyllablesHelp.AutomaticDelay = 0; + this.TTsyllablesHelp.AutoPopDelay = 50000; + this.TTsyllablesHelp.InitialDelay = 500; + this.TTsyllablesHelp.ReshowDelay = 100; + this.TTsyllablesHelp.ShowAlways = true; + this.TTsyllablesHelp.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info; + // + // LhelpEndSyllable + // + this.LhelpEndSyllable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.LhelpEndSyllable.Location = new System.Drawing.Point(352, 292); + this.LhelpEndSyllable.Name = "LhelpEndSyllable"; + this.LhelpEndSyllable.Size = new System.Drawing.Size(16, 16); + this.LhelpEndSyllable.TabIndex = 15; + // + // toolStrip1 + // + this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripButton1, + this.toolStripButton3, + this.toolStripSeparator1, + this.toolStripButton2}); + this.toolStrip1.Location = new System.Drawing.Point(0, 0); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; + this.toolStrip1.Size = new System.Drawing.Size(384, 25); + this.toolStrip1.TabIndex = 16; + this.toolStrip1.Text = "toolStrip1"; + // + // toolStripButton1 + // + this.toolStripButton1.Image = global::WordGenXmlViewer.Properties.Resources.Open_6529; + this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButton1.Name = "toolStripButton1"; + this.toolStripButton1.Size = new System.Drawing.Size(69, 22); + this.toolStripButton1.Text = "Ouvrir..."; + this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click); + // + // toolStripButton3 + // + this.toolStripButton3.Image = global::WordGenXmlViewer.Properties.Resources.Close_6519_32; + this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Black; + this.toolStripButton3.Name = "toolStripButton3"; + this.toolStripButton3.Size = new System.Drawing.Size(64, 22); + this.toolStripButton3.Text = "Fermer"; + this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); + // + // toolStripButton2 + // + this.toolStripButton2.Image = global::WordGenXmlViewer.Properties.Resources.save_16xLG; + this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta; + this.toolStripButton2.Name = "toolStripButton2"; + this.toolStripButton2.Size = new System.Drawing.Size(92, 22); + this.toolStripButton2.Text = "Enregistrer..."; + this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click); + // + // SyllabaryForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(384, 361); + this.Controls.Add(this.toolStrip1); + this.Controls.Add(this.DDbeginSyllables); + this.Controls.Add(this.LbeginSyllable); + this.Controls.Add(this.DDendSyllables); + this.Controls.Add(this.LendSyllable); + this.Controls.Add(this.LhelpEndSyllable); + this.Controls.Add(this.Cliste); + this.Controls.Add(this.TBsyllabaryName); + this.Controls.Add(this.LsyllabaryName); + this.Font = new System.Drawing.Font("Segoe UI", 8.25F); + this.MinimumSize = new System.Drawing.Size(400, 400); + this.Name = "SyllabaryForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Syllabaire"; + this.Load += new System.EventHandler(this.SyllabaryForm_Load); + this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.SyllabaireForm_KeyDown); + this.Cliste.ResumeLayout(false); + this.Cliste.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.EPsyllabary)).EndInit(); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label LsyllabaryName; + private System.Windows.Forms.TextBox TBsyllabaryName; + private System.Windows.Forms.TextBox TBconsonants; + private System.Windows.Forms.TextBox TBvowels; + private System.Windows.Forms.TextBox TBsyllables; + private System.Windows.Forms.TableLayoutPanel Cliste; + private System.Windows.Forms.ComboBox DDbeginSyllables; + private System.Windows.Forms.ComboBox DDendSyllables; + private System.Windows.Forms.ErrorProvider EPsyllabary; + private System.Windows.Forms.ToolTip TTsyllablesHelp; + private System.Windows.Forms.Label Lsyllable; + private System.Windows.Forms.Label Lconsonant; + private System.Windows.Forms.Label Lvowel; + private System.Windows.Forms.Label LendSyllable; + private System.Windows.Forms.Label LbeginSyllable; + private System.Windows.Forms.Label LhelpEndSyllable; + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.ToolStripButton toolStripButton1; + private System.Windows.Forms.ToolStripButton toolStripButton3; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripButton toolStripButton2; + + public object getSyllabaire { get; internal set; } + + } \ No newline at end of file diff --git a/WordGenXmlViewer/SyllabaryForm.cs b/WordGenXmlViewer/SyllabaryForm.cs new file mode 100644 index 0000000..5b64bc6 --- /dev/null +++ b/WordGenXmlViewer/SyllabaryForm.cs @@ -0,0 +1,183 @@ +using System; +using System.Text; +using System.Windows.Forms; + +public partial class SyllabaryForm : Form { + + private Syllabary _mysillab; + + + // Default constructor (New) + public SyllabaryForm() { + InitializeComponent(); + _mysillab = new Syllabary(); + DDbeginSyllables.SelectedIndex = 0; + DDendSyllables.SelectedIndex = 0; + + } + + // Constructor with Syllabary to load (Edit) + public SyllabaryForm(Syllabary thisSyllabary) { + InitializeComponent(); + _mysillab = thisSyllabary; + TBsyllabaryName.Text = thisSyllabary.title; + StringBuilder composer = new StringBuilder(); + + foreach (var aCons in thisSyllabary.consonants) { + composer.AppendLine(aCons); + } + TBconsonants.Text = composer.ToString(); + + composer.Clear(); + foreach (var aVow in thisSyllabary.vowels) { + composer.AppendLine(aVow); + } + TBvowels.Text = composer.ToString(); + + composer.Clear(); + foreach (var aSyl in thisSyllabary.syllables) { + composer.AppendLine(aSyl); + } + TBsyllables.Text = composer.ToString(); + + DDbeginSyllables.SelectedIndex = (int)_mysillab.beforeSyllable; + DDendSyllables.SelectedIndex = (int)_mysillab.afterSyllable; + + } + + private bool form_validation() { + bool everythingOK = true; + if (String.IsNullOrEmpty(TBsyllabaryName.Text.Trim())) { + everythingOK = false; + EPsyllabary.SetError(TBsyllabaryName, "Recquis"); + } + + if (String.IsNullOrEmpty(TBconsonants.Text.Trim()) && String.IsNullOrEmpty(TBvowels.Text.Trim()) && String.IsNullOrEmpty(TBsyllables.Text.Trim())) { + everythingOK = false; + EPsyllabary.SetError(Lsyllable, "Recquis"); + } + + string[] slipschars = { "\r\n" }; + + if (everythingOK) { + _mysillab.title = TBsyllabaryName.Text; + _mysillab.consonants.Clear(); + _mysillab.vowels.Clear(); + _mysillab.syllables.Clear(); + _mysillab.consonants.AddRange(TBconsonants.Text.Split(slipschars, StringSplitOptions.RemoveEmptyEntries)); + _mysillab.syllables.AddRange(TBsyllables.Text.Split(slipschars, StringSplitOptions.RemoveEmptyEntries)); + _mysillab.vowels.AddRange(TBvowels.Text.Split(slipschars, StringSplitOptions.RemoveEmptyEntries)); + switch (DDbeginSyllables.SelectedIndex) { + case 1: + _mysillab.beforeSyllable = BeforeSyllable.AutoSelect; + break; + case 2: + _mysillab.beforeSyllable = BeforeSyllable.AutoInsert; + break; + default: + _mysillab.beforeSyllable = BeforeSyllable.AsIs; + break; + } + + switch (DDendSyllables.SelectedIndex) { + case 1: + _mysillab.afterSyllable = AfterSyllable.AutoInsert; + break; + default: + _mysillab.afterSyllable = AfterSyllable.AsIs; + break; + } + } + return everythingOK; + } + + private void BOk_Click(object sender, EventArgs e) { + if (form_validation()) { + this.DialogResult = DialogResult.OK; + this.Close(); + } + } + + private void TBsyllabaryName_TextChanged(object sender, EventArgs e) { + EPsyllabary.SetError(TBsyllabaryName, String.Empty); + } + + private void BCancel_Click(object sender, EventArgs e) { + this.DialogResult = DialogResult.Cancel; + this.Close(); + this.Dispose(); + } + + private void SyllabaireForm_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { + if (e.Modifiers == Keys.Alt && e.KeyCode == Keys.Enter) { + e.Handled = true; + e.SuppressKeyPress = true; + if (form_validation()) { + this.DialogResult = DialogResult.OK; + this.Close(); + } + } + } + + private void TBsyllables_TextChanged(object sender, EventArgs e) { + var useSyllables = !String.IsNullOrEmpty(TBsyllables.Text.Trim()); + DDendSyllables.Enabled = useSyllables; + DDbeginSyllables.Enabled = useSyllables; + } + + private void toolStripButton1_Click(object sender, EventArgs e) { + OpenFileDialog ofd = new OpenFileDialog(); + ofd.Multiselect = false; + ofd.Filter = "eXtensible Markup Language (*.xml)|*.xml"; + if (ofd.ShowDialog() == DialogResult.OK) { + var siom = new SyllabaryIoManager(); + _mysillab = siom.loadSyllabary(new Uri(ofd.FileName)); + TBsyllabaryName.Text = _mysillab.title; + StringBuilder composer = new StringBuilder(); + + foreach (var aCons in _mysillab.consonants) { + composer.AppendLine(aCons); + } + TBconsonants.Text = composer.ToString(); + + composer.Clear(); + foreach (var aVow in _mysillab.vowels) { + composer.AppendLine(aVow); + } + TBvowels.Text = composer.ToString(); + + composer.Clear(); + foreach (var aSyl in _mysillab.syllables) { + composer.AppendLine(aSyl); + } + TBsyllables.Text = composer.ToString(); + + DDbeginSyllables.SelectedIndex = (int)_mysillab.beforeSyllable; + DDendSyllables.SelectedIndex = (int)_mysillab.afterSyllable; + } + } + + private void toolStripButton2_Click(object sender, EventArgs e) { + if (form_validation()) { + SaveFileDialog sfd = new SaveFileDialog(); + sfd.FileName = _mysillab.title; + sfd.Filter = "eXtensible Markup Language (*.xml)|*.xml"; + if (sfd.ShowDialog() == DialogResult.OK) { + SyllabaryIoManager siom = new SyllabaryIoManager(); + siom.saveSyllabary(_mysillab, new Uri(sfd.FileName)); + } + } + } + + private void toolStripButton3_Click(object sender, EventArgs e) { + TBconsonants.Clear(); + TBsyllabaryName.Clear(); + TBvowels.Clear(); + TBsyllables.Clear(); + } + + private void SyllabaryForm_Load(object sender, EventArgs e) { + + } +} + diff --git a/WordGenXmlViewer/SyllabaryForm.resx b/WordGenXmlViewer/SyllabaryForm.resx new file mode 100644 index 0000000..e0e278a --- /dev/null +++ b/WordGenXmlViewer/SyllabaryForm.resx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 264, 17 + + + + + AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA + AAD///8B9vb2n/b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b29v/29vb/9vb2//b2 + 9p////8B9vb2n5rm+f8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM + //+a5vn/9vb2n/b29t8f0f7/AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM//8AzP//AMz//wDM + //8AzP//H9H+//b29t/29vZhmub5/wDM//8AzP//AMz//wDM//8AzP//AAAA/wAAAP8AzP//AMz//wDM + //8AzP//AMz//5rm+f/29vZh////Afb29t8f0f7/AMz//wDM//8AzP//AMz//wAAAP8AAAD/AMz//wDM + //8AzP//AMz//x/R/v/29vbf////Af///wH29vZhmub5/wDM//8AzP//AMz//wDM//8AzP//AMz//wDM + //8AzP//AMz//wDM//+a5vn/9vb2Yf///wH///8B////Afb29t8f0f7/AMz//wDM//8AzP//AAAA/wAA + AP8AzP//AMz//wDM//8f0f7/9vb23////wH///8B////Af///wH29vZhmub5/wDM//8AzP//AMz//wAA + AP8AAAD/AMz//wDM//8AzP//mub5//b29mH///8B////Af///wH///8B////Afb29t8f0f7/AMz//wDM + //8AAAD/AAAA/wDM//8AzP//H9H+//b29t////8B////Af///wH///8B////Af///wH29vZhmub5/wDM + //8AzP//AAAA/wAAAP8AzP//AMz//5rm+f/29vZh////Af///wH///8B////Af///wH///8B////Afb2 + 9t8f0f7/AMz//wAAAP8AAAD/AMz//x/R/v/29vbf////Af///wH///8B////Af///wH///8B////Af// + /wH29vZhmub5/wDM//8AzP//AMz//wDM//+a5vn/9vb2Yf///wH///8B////Af///wH///8B////Af// + /wH///8B////Afb29t8f0f7/AMz//wDM//8f0f7/9vb23////wH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH29vZhmub5/wDM//8AzP//mub5//b29mH///8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Afb29t8f0f7/H9H+//b29t////8B////Af///wH///8B////Af// + /wH///8B////Af///wH///8B////Af///wH29vZh9vb2//b29v/29vZh////Af///wH///8B////Af// + /wH///8BAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//w== + + + + 129, 17 + + \ No newline at end of file diff --git a/WordGenXmlViewer/WordGenSyllabaireViewer.csproj b/WordGenXmlViewer/WordGenSyllabaireViewer.csproj new file mode 100644 index 0000000..2dab731 --- /dev/null +++ b/WordGenXmlViewer/WordGenSyllabaireViewer.csproj @@ -0,0 +1,109 @@ + + + + + Debug + AnyCPU + {3868AF69-F1AC-43A5-B4C8-47AF2737B295} + WinExe + Properties + WordGenXmlViewer + WordGenXmlViewer + v4.5.2 + 512 + true + SAK + SAK + SAK + SAK + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + Form + + + SyllabaryForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SyllabaryForm.cs + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + \ No newline at end of file