diff --git a/Ogama/MainWindow/MainForm.cs b/Ogama/MainWindow/MainForm.cs index cbba1323..ef6bb4c2 100644 --- a/Ogama/MainWindow/MainForm.cs +++ b/Ogama/MainWindow/MainForm.cs @@ -11,6 +11,8 @@ // Adrian Voßkühler // adrian@ogama.net +using Ogama.Modules.ImportExport.UXI; + namespace Ogama.MainWindow { using System; @@ -749,7 +751,7 @@ private bool ShowTaskChooseDialog() case Tasks.Import: if (this.CreateDatabaseView()) { - ImportRawData.Start(this); + UXImport.Start(this); } break; diff --git a/Ogama/Modules/Database/DatabaseModule.Designer.cs b/Ogama/Modules/Database/DatabaseModule.Designer.cs index 18a94f8e..55ae9038 100644 --- a/Ogama/Modules/Database/DatabaseModule.Designer.cs +++ b/Ogama/Modules/Database/DatabaseModule.Designer.cs @@ -32,166 +32,167 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DatabaseModule)); - this.dgvSubjects = new System.Windows.Forms.DataGridView(); - this.colSubjectsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectsCategory = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectsAge = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectsSex = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectsHandedness = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectsComments = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.cmsDataGridView = new System.Windows.Forms.ContextMenuStrip(this.components); - this.cmsSelect = new System.Windows.Forms.ToolStripMenuItem(); - this.cmsCopy = new System.Windows.Forms.ToolStripMenuItem(); - this.cmsModifyData = new System.Windows.Forms.ToolStripMenuItem(); - this.dgvRawData = new System.Windows.Forms.DataGridView(); - this.dgvTrials = new System.Windows.Forms.DataGridView(); - this.colTrialsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsTrialName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsCategory = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsTrialStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsDuration = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialsEliminateData = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer(); - this.tacTables = new System.Windows.Forms.TabControl(); - this.tbpSubjects = new System.Windows.Forms.TabPage(); - this.tbpSubjectParameters = new System.Windows.Forms.TabPage(); - this.dgvSubjectParameters = new System.Windows.Forms.DataGridView(); - this.colSubjectParametersID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectParametersSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colSubjectParametersParam = new System.Windows.Forms.DataGridViewComboBoxColumn(); - this.colSubjectParametersSubjectNameParamValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tbpParams = new System.Windows.Forms.TabPage(); - this.dgvParams = new System.Windows.Forms.DataGridView(); - this.colParamsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.paramDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.descriptionDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tbpTrials = new System.Windows.Forms.TabPage(); - this.tbpTrialEvents = new System.Windows.Forms.TabPage(); - this.dgvTrialEvents = new System.Windows.Forms.DataGridView(); - this.colTrialEventsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsEventID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsEventTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsEventType = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsEventTask = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colTrialEventsEventParam = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tbpRawdata = new System.Windows.Forms.TabPage(); - this.tbpGazeFixations = new System.Windows.Forms.TabPage(); - this.dgvGazeFixations = new System.Windows.Forms.DataGridView(); - this.colGazeFixationsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsCountInTrial = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsLength = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsPosX = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colGazeFixationsPosY = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tbpMouseFixations = new System.Windows.Forms.TabPage(); - this.dgvMouseFixations = new System.Windows.Forms.DataGridView(); - this.colMouseFixationsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsCountInTrial = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsLength = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsPosX = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colMouseFixationsPosY = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.tbpAOI = new System.Windows.Forms.TabPage(); - this.dgvAOIs = new System.Windows.Forms.DataGridView(); - this.colAOIsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsSlideNr = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsShapeName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsShapeType = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsShapeNumPts = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsShapePts = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colAOIsShapeGroup = new System.Windows.Forms.DataGridViewComboBoxColumn(); - this.tbpShapeGroups = new System.Windows.Forms.TabPage(); - this.dgvShapeGroups = new System.Windows.Forms.DataGridView(); - this.colShapeGroupsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colShapeGroupsShapeGroup = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.imlTabs = new System.Windows.Forms.ImageList(this.components); - this.toolStrip1 = new System.Windows.Forms.ToolStrip(); - this.btnImport = new System.Windows.Forms.ToolStripButton(); - this.btnImportOgamaFormat = new System.Windows.Forms.ToolStripButton(); - this.btnExport = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.btnSave = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.btnFilterData = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.btnHelp = new System.Windows.Forms.ToolStripButton(); - this.btnSpecial = new System.Windows.Forms.ToolStripButton(); - this.sfdExport = new System.Windows.Forms.SaveFileDialog(); - this.bgwExport = new System.ComponentModel.BackgroundWorker(); - ((System.ComponentModel.ISupportInitialize)(this.bsoSubjects)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsTrials)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.ogamaDataSet)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoFKTrialsEvents)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsAOIs)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsGazeFixations)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsMouseFixations)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoShapeGroups)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsSubjectParameters)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoSubjectParameters)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialEvents)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrials)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoGazeFixations)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoMouseFixations)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoAOIs)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoParams)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvSubjects)).BeginInit(); - this.cmsDataGridView.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvRawData)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvTrials)).BeginInit(); - this.toolStripContainer1.ContentPanel.SuspendLayout(); - this.toolStripContainer1.TopToolStripPanel.SuspendLayout(); - this.toolStripContainer1.SuspendLayout(); - this.tacTables.SuspendLayout(); - this.tbpSubjects.SuspendLayout(); - this.tbpSubjectParameters.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvSubjectParameters)).BeginInit(); - this.tbpParams.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvParams)).BeginInit(); - this.tbpTrials.SuspendLayout(); - this.tbpTrialEvents.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvTrialEvents)).BeginInit(); - this.tbpRawdata.SuspendLayout(); - this.tbpGazeFixations.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvGazeFixations)).BeginInit(); - this.tbpMouseFixations.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvMouseFixations)).BeginInit(); - this.tbpAOI.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvAOIs)).BeginInit(); - this.tbpShapeGroups.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvShapeGroups)).BeginInit(); - this.toolStrip1.SuspendLayout(); - this.SuspendLayout(); - // - // bsoSubjects - // - this.bsoSubjects.AllowNew = false; - // - // bsoFKTrialsEvents - // - this.bsoFKTrialsEvents.Sort = "EventTime"; - // - // dgvSubjects - // - this.dgvSubjects.AllowUserToAddRows = false; - this.dgvSubjects.AutoGenerateColumns = false; - this.dgvSubjects.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvSubjects.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DatabaseModule)); + this.dgvSubjects = new System.Windows.Forms.DataGridView(); + this.colSubjectsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectsCategory = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectsAge = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectsSex = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectsHandedness = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectsComments = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.cmsDataGridView = new System.Windows.Forms.ContextMenuStrip(this.components); + this.cmsSelect = new System.Windows.Forms.ToolStripMenuItem(); + this.cmsCopy = new System.Windows.Forms.ToolStripMenuItem(); + this.cmsModifyData = new System.Windows.Forms.ToolStripMenuItem(); + this.dgvRawData = new System.Windows.Forms.DataGridView(); + this.dgvTrials = new System.Windows.Forms.DataGridView(); + this.colTrialsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsTrialName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsCategory = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsTrialStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsDuration = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialsEliminateData = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer(); + this.tacTables = new System.Windows.Forms.TabControl(); + this.tbpSubjects = new System.Windows.Forms.TabPage(); + this.tbpSubjectParameters = new System.Windows.Forms.TabPage(); + this.dgvSubjectParameters = new System.Windows.Forms.DataGridView(); + this.colSubjectParametersID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectParametersSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubjectParametersParam = new System.Windows.Forms.DataGridViewComboBoxColumn(); + this.colSubjectParametersSubjectNameParamValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tbpParams = new System.Windows.Forms.TabPage(); + this.dgvParams = new System.Windows.Forms.DataGridView(); + this.colParamsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.paramDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.descriptionDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tbpTrials = new System.Windows.Forms.TabPage(); + this.tbpTrialEvents = new System.Windows.Forms.TabPage(); + this.dgvTrialEvents = new System.Windows.Forms.DataGridView(); + this.colTrialEventsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsEventID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsEventTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsEventType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsEventTask = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTrialEventsEventParam = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tbpRawdata = new System.Windows.Forms.TabPage(); + this.tbpGazeFixations = new System.Windows.Forms.TabPage(); + this.dgvGazeFixations = new System.Windows.Forms.DataGridView(); + this.colGazeFixationsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsCountInTrial = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsLength = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsPosX = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGazeFixationsPosY = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tbpMouseFixations = new System.Windows.Forms.TabPage(); + this.dgvMouseFixations = new System.Windows.Forms.DataGridView(); + this.colMouseFixationsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsSubjectName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsTrialSequence = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsCountInTrial = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsStartTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsLength = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsPosX = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMouseFixationsPosY = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.tbpAOI = new System.Windows.Forms.TabPage(); + this.dgvAOIs = new System.Windows.Forms.DataGridView(); + this.colAOIsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsTrialID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsSlideNr = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsShapeName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsShapeType = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsShapeNumPts = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsShapePts = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAOIsShapeGroup = new System.Windows.Forms.DataGridViewComboBoxColumn(); + this.tbpShapeGroups = new System.Windows.Forms.TabPage(); + this.dgvShapeGroups = new System.Windows.Forms.DataGridView(); + this.colShapeGroupsID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShapeGroupsShapeGroup = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.imlTabs = new System.Windows.Forms.ImageList(this.components); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.btnImport = new System.Windows.Forms.ToolStripButton(); + this.btnImportOgamaFormat = new System.Windows.Forms.ToolStripButton(); + this.btnExport = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.btnSave = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.btnFilterData = new System.Windows.Forms.ToolStripButton(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.btnHelp = new System.Windows.Forms.ToolStripButton(); + this.btnSpecial = new System.Windows.Forms.ToolStripButton(); + this.sfdExport = new System.Windows.Forms.SaveFileDialog(); + this.bgwExport = new System.ComponentModel.BackgroundWorker(); + this.uxImport = new System.Windows.Forms.ToolStripButton(); + ((System.ComponentModel.ISupportInitialize)(this.bsoSubjects)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsTrials)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.ogamaDataSet)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoFKTrialsEvents)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsAOIs)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsGazeFixations)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsMouseFixations)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoShapeGroups)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsSubjectParameters)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoSubjectParameters)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialEvents)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrials)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoGazeFixations)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoMouseFixations)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoAOIs)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoParams)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSubjects)).BeginInit(); + this.cmsDataGridView.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvRawData)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvTrials)).BeginInit(); + this.toolStripContainer1.ContentPanel.SuspendLayout(); + this.toolStripContainer1.TopToolStripPanel.SuspendLayout(); + this.toolStripContainer1.SuspendLayout(); + this.tacTables.SuspendLayout(); + this.tbpSubjects.SuspendLayout(); + this.tbpSubjectParameters.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSubjectParameters)).BeginInit(); + this.tbpParams.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvParams)).BeginInit(); + this.tbpTrials.SuspendLayout(); + this.tbpTrialEvents.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvTrialEvents)).BeginInit(); + this.tbpRawdata.SuspendLayout(); + this.tbpGazeFixations.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvGazeFixations)).BeginInit(); + this.tbpMouseFixations.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvMouseFixations)).BeginInit(); + this.tbpAOI.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvAOIs)).BeginInit(); + this.tbpShapeGroups.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShapeGroups)).BeginInit(); + this.toolStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // bsoSubjects + // + this.bsoSubjects.AllowNew = false; + // + // bsoFKTrialsEvents + // + this.bsoFKTrialsEvents.Sort = "EventTime"; + // + // dgvSubjects + // + this.dgvSubjects.AllowUserToAddRows = false; + this.dgvSubjects.AutoGenerateColumns = false; + this.dgvSubjects.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvSubjects.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSubjectsID, this.colSubjectsSubjectName, this.colSubjectsCategory, @@ -199,132 +200,132 @@ private void InitializeComponent() this.colSubjectsSex, this.colSubjectsHandedness, this.colSubjectsComments}); - this.dgvSubjects.ContextMenuStrip = this.cmsDataGridView; - this.dgvSubjects.DataSource = this.bsoSubjects; - this.dgvSubjects.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvSubjects.Location = new System.Drawing.Point(3, 3); - this.dgvSubjects.Name = "dgvSubjects"; - this.dgvSubjects.Size = new System.Drawing.Size(650, 291); - this.dgvSubjects.TabIndex = 0; - this.toolTip1.SetToolTip(this.dgvSubjects, "Select a row to filter the data in the preceding tables.\r\nRight click for a conte" + + this.dgvSubjects.ContextMenuStrip = this.cmsDataGridView; + this.dgvSubjects.DataSource = this.bsoSubjects; + this.dgvSubjects.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSubjects.Location = new System.Drawing.Point(4, 4); + this.dgvSubjects.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvSubjects.Name = "dgvSubjects"; + this.dgvSubjects.Size = new System.Drawing.Size(869, 366); + this.dgvSubjects.TabIndex = 0; + this.toolTip1.SetToolTip(this.dgvSubjects, "Select a row to filter the data in the preceding tables.\r\nRight click for a conte" + "xt menu."); - this.dgvSubjects.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dgvSubjects_DataError); - this.dgvSubjects.RowEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSubjects_RowEnter); - this.dgvSubjects.UserDeletingRow += new System.Windows.Forms.DataGridViewRowCancelEventHandler(this.dgvSubjects_UserDeletingRow); - // - // colSubjectsID - // - this.colSubjectsID.DataPropertyName = "ID"; - this.colSubjectsID.HeaderText = "ID"; - this.colSubjectsID.MinimumWidth = 30; - this.colSubjectsID.Name = "colSubjectsID"; - this.colSubjectsID.ReadOnly = true; - this.colSubjectsID.Width = 60; - // - // colSubjectsSubjectName - // - this.colSubjectsSubjectName.DataPropertyName = "SubjectName"; - this.colSubjectsSubjectName.HeaderText = "SubjectName"; - this.colSubjectsSubjectName.MinimumWidth = 30; - this.colSubjectsSubjectName.Name = "colSubjectsSubjectName"; - this.colSubjectsSubjectName.Width = 80; - // - // colSubjectsCategory - // - this.colSubjectsCategory.DataPropertyName = "Category"; - this.colSubjectsCategory.HeaderText = "Category"; - this.colSubjectsCategory.MinimumWidth = 30; - this.colSubjectsCategory.Name = "colSubjectsCategory"; - this.colSubjectsCategory.Width = 60; - // - // colSubjectsAge - // - this.colSubjectsAge.DataPropertyName = "Age"; - this.colSubjectsAge.HeaderText = "Age"; - this.colSubjectsAge.MinimumWidth = 30; - this.colSubjectsAge.Name = "colSubjectsAge"; - this.colSubjectsAge.Width = 40; - // - // colSubjectsSex - // - this.colSubjectsSex.DataPropertyName = "Sex"; - this.colSubjectsSex.HeaderText = "Sex"; - this.colSubjectsSex.MinimumWidth = 30; - this.colSubjectsSex.Name = "colSubjectsSex"; - this.colSubjectsSex.Width = 40; - // - // colSubjectsHandedness - // - this.colSubjectsHandedness.DataPropertyName = "Handedness"; - this.colSubjectsHandedness.HeaderText = "Handedness"; - this.colSubjectsHandedness.MinimumWidth = 30; - this.colSubjectsHandedness.Name = "colSubjectsHandedness"; - this.colSubjectsHandedness.Width = 80; - // - // colSubjectsComments - // - this.colSubjectsComments.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colSubjectsComments.DataPropertyName = "Comments"; - this.colSubjectsComments.HeaderText = "Comments"; - this.colSubjectsComments.MinimumWidth = 30; - this.colSubjectsComments.Name = "colSubjectsComments"; - // - // cmsDataGridView - // - this.cmsDataGridView.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.dgvSubjects.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dgvSubjects_DataError); + this.dgvSubjects.RowEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSubjects_RowEnter); + this.dgvSubjects.UserDeletingRow += new System.Windows.Forms.DataGridViewRowCancelEventHandler(this.dgvSubjects_UserDeletingRow); + // + // colSubjectsID + // + this.colSubjectsID.DataPropertyName = "ID"; + this.colSubjectsID.HeaderText = "ID"; + this.colSubjectsID.MinimumWidth = 30; + this.colSubjectsID.Name = "colSubjectsID"; + this.colSubjectsID.ReadOnly = true; + this.colSubjectsID.Width = 60; + // + // colSubjectsSubjectName + // + this.colSubjectsSubjectName.DataPropertyName = "SubjectName"; + this.colSubjectsSubjectName.HeaderText = "SubjectName"; + this.colSubjectsSubjectName.MinimumWidth = 30; + this.colSubjectsSubjectName.Name = "colSubjectsSubjectName"; + this.colSubjectsSubjectName.Width = 80; + // + // colSubjectsCategory + // + this.colSubjectsCategory.DataPropertyName = "Category"; + this.colSubjectsCategory.HeaderText = "Category"; + this.colSubjectsCategory.MinimumWidth = 30; + this.colSubjectsCategory.Name = "colSubjectsCategory"; + this.colSubjectsCategory.Width = 60; + // + // colSubjectsAge + // + this.colSubjectsAge.DataPropertyName = "Age"; + this.colSubjectsAge.HeaderText = "Age"; + this.colSubjectsAge.MinimumWidth = 30; + this.colSubjectsAge.Name = "colSubjectsAge"; + this.colSubjectsAge.Width = 40; + // + // colSubjectsSex + // + this.colSubjectsSex.DataPropertyName = "Sex"; + this.colSubjectsSex.HeaderText = "Sex"; + this.colSubjectsSex.MinimumWidth = 30; + this.colSubjectsSex.Name = "colSubjectsSex"; + this.colSubjectsSex.Width = 40; + // + // colSubjectsHandedness + // + this.colSubjectsHandedness.DataPropertyName = "Handedness"; + this.colSubjectsHandedness.HeaderText = "Handedness"; + this.colSubjectsHandedness.MinimumWidth = 30; + this.colSubjectsHandedness.Name = "colSubjectsHandedness"; + this.colSubjectsHandedness.Width = 80; + // + // colSubjectsComments + // + this.colSubjectsComments.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colSubjectsComments.DataPropertyName = "Comments"; + this.colSubjectsComments.HeaderText = "Comments"; + this.colSubjectsComments.MinimumWidth = 30; + this.colSubjectsComments.Name = "colSubjectsComments"; + // + // cmsDataGridView + // + this.cmsDataGridView.ImageScalingSize = new System.Drawing.Size(20, 20); + this.cmsDataGridView.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cmsSelect, this.cmsCopy, - this.cmsModifyData - }); - this.cmsDataGridView.Name = "cmsDataGridView"; - this.cmsDataGridView.Size = new System.Drawing.Size(219, 48); - // - // cmsSelect - // - this.cmsSelect.Name = "cmsSelect"; - this.cmsSelect.Size = new System.Drawing.Size(218, 22); - this.cmsSelect.Text = "Select all rows"; - this.cmsSelect.Click += new System.EventHandler(this.cmsSelect_Click); - // - // cmsCopy - // - this.cmsCopy.Image = global::Ogama.Properties.Resources.CopyHS; - this.cmsCopy.Name = "cmsCopy"; - this.cmsCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); - this.cmsCopy.Size = new System.Drawing.Size(218, 22); - this.cmsCopy.Text = "Copy selected rows"; - this.cmsCopy.Click += new System.EventHandler(this.cmsCopy_Click); - - - // - // modify data - // - this.cmsModifyData.Name = "cmsModifyData"; - this.cmsModifyData.Text = "modify data"; - this.cmsModifyData.Click += new System.EventHandler(this.cmsModifyData_Click); - - // - // dgvRawData - // - this.dgvRawData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; - this.dgvRawData.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvRawData.ContextMenuStrip = this.cmsDataGridView; - this.dgvRawData.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvRawData.Location = new System.Drawing.Point(3, 3); - this.dgvRawData.Name = "dgvRawData"; - this.dgvRawData.Size = new System.Drawing.Size(650, 291); - this.dgvRawData.TabIndex = 2; - this.toolTip1.SetToolTip(this.dgvRawData, "This table displays only the data of the selected trial or subject depending on f" + + this.cmsModifyData}); + this.cmsDataGridView.Name = "cmsDataGridView"; + this.cmsDataGridView.Size = new System.Drawing.Size(262, 82); + // + // cmsSelect + // + this.cmsSelect.Name = "cmsSelect"; + this.cmsSelect.Size = new System.Drawing.Size(261, 26); + this.cmsSelect.Text = "Select all rows"; + this.cmsSelect.Click += new System.EventHandler(this.cmsSelect_Click); + // + // cmsCopy + // + this.cmsCopy.Image = global::Ogama.Properties.Resources.CopyHS; + this.cmsCopy.Name = "cmsCopy"; + this.cmsCopy.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); + this.cmsCopy.Size = new System.Drawing.Size(261, 26); + this.cmsCopy.Text = "Copy selected rows"; + this.cmsCopy.Click += new System.EventHandler(this.cmsCopy_Click); + // + // cmsModifyData + // + this.cmsModifyData.Name = "cmsModifyData"; + this.cmsModifyData.Size = new System.Drawing.Size(261, 26); + this.cmsModifyData.Text = "modify data"; + this.cmsModifyData.Click += new System.EventHandler(this.cmsModifyData_Click); + // + // dgvRawData + // + this.dgvRawData.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + this.dgvRawData.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvRawData.ContextMenuStrip = this.cmsDataGridView; + this.dgvRawData.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvRawData.Location = new System.Drawing.Point(4, 4); + this.dgvRawData.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvRawData.Name = "dgvRawData"; + this.dgvRawData.Size = new System.Drawing.Size(869, 359); + this.dgvRawData.TabIndex = 2; + this.toolTip1.SetToolTip(this.dgvRawData, "This table displays only the data of the selected trial or subject depending on f" + "ilter mode.\r\nRight click for a context menu."); - this.dgvRawData.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - this.dgvRawData.Validated += new System.EventHandler(this.dgvRawData_Validated); - // - // dgvTrials - // - this.dgvTrials.AllowUserToAddRows = false; - this.dgvTrials.AutoGenerateColumns = false; - this.dgvTrials.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvTrials.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvRawData.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + this.dgvRawData.Validated += new System.EventHandler(this.dgvRawData_Validated); + // + // dgvTrials + // + this.dgvTrials.AllowUserToAddRows = false; + this.dgvTrials.AutoGenerateColumns = false; + this.dgvTrials.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvTrials.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colTrialsID, this.colTrialsSubjectName, this.colTrialsTrialSequence, @@ -334,282 +335,293 @@ private void InitializeComponent() this.colTrialsTrialStartTime, this.colTrialsDuration, this.colTrialsEliminateData}); - this.dgvTrials.ContextMenuStrip = this.cmsDataGridView; - this.dgvTrials.DataSource = this.bsoFKSubjectsTrials; - this.dgvTrials.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvTrials.Location = new System.Drawing.Point(3, 3); - this.dgvTrials.Name = "dgvTrials"; - this.dgvTrials.Size = new System.Drawing.Size(650, 291); - this.dgvTrials.TabIndex = 3; - this.toolTip1.SetToolTip(this.dgvTrials, "Select trial row to filter the data of the preceding tables.\r\nRight click for a c" + + this.dgvTrials.ContextMenuStrip = this.cmsDataGridView; + this.dgvTrials.DataSource = this.bsoFKSubjectsTrials; + this.dgvTrials.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvTrials.Location = new System.Drawing.Point(4, 4); + this.dgvTrials.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvTrials.Name = "dgvTrials"; + this.dgvTrials.Size = new System.Drawing.Size(869, 359); + this.dgvTrials.TabIndex = 3; + this.toolTip1.SetToolTip(this.dgvTrials, "Select trial row to filter the data of the preceding tables.\r\nRight click for a c" + "ontext menu."); - this.dgvTrials.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - this.dgvTrials.RowEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvTrials_RowEnter); - // - // colTrialsID - // - this.colTrialsID.DataPropertyName = "ID"; - this.colTrialsID.HeaderText = "ID"; - this.colTrialsID.MinimumWidth = 30; - this.colTrialsID.Name = "colTrialsID"; - this.colTrialsID.ReadOnly = true; - this.colTrialsID.Width = 60; - // - // colTrialsSubjectName - // - this.colTrialsSubjectName.DataPropertyName = "SubjectName"; - this.colTrialsSubjectName.HeaderText = "Subjectname"; - this.colTrialsSubjectName.MinimumWidth = 30; - this.colTrialsSubjectName.Name = "colTrialsSubjectName"; - this.colTrialsSubjectName.Width = 80; - // - // colTrialsTrialSequence - // - this.colTrialsTrialSequence.DataPropertyName = "TrialSequence"; - this.colTrialsTrialSequence.HeaderText = "Sequence"; - this.colTrialsTrialSequence.MinimumWidth = 30; - this.colTrialsTrialSequence.Name = "colTrialsTrialSequence"; - this.colTrialsTrialSequence.Width = 80; - // - // colTrialsTrialID - // - this.colTrialsTrialID.DataPropertyName = "TrialID"; - this.colTrialsTrialID.HeaderText = "TrialID"; - this.colTrialsTrialID.MinimumWidth = 30; - this.colTrialsTrialID.Name = "colTrialsTrialID"; - this.colTrialsTrialID.Width = 40; - // - // colTrialsTrialName - // - this.colTrialsTrialName.DataPropertyName = "TrialName"; - this.colTrialsTrialName.HeaderText = "Name"; - this.colTrialsTrialName.MinimumWidth = 30; - this.colTrialsTrialName.Name = "colTrialsTrialName"; - this.colTrialsTrialName.Width = 80; - // - // colTrialsCategory - // - this.colTrialsCategory.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colTrialsCategory.DataPropertyName = "Category"; - this.colTrialsCategory.HeaderText = "Category"; - this.colTrialsCategory.MinimumWidth = 30; - this.colTrialsCategory.Name = "colTrialsCategory"; - // - // colTrialsTrialStartTime - // - this.colTrialsTrialStartTime.DataPropertyName = "TrialStartTime"; - this.colTrialsTrialStartTime.HeaderText = "StartTime"; - this.colTrialsTrialStartTime.MinimumWidth = 30; - this.colTrialsTrialStartTime.Name = "colTrialsTrialStartTime"; - this.colTrialsTrialStartTime.Width = 60; - // - // colTrialsDuration - // - this.colTrialsDuration.DataPropertyName = "Duration"; - this.colTrialsDuration.HeaderText = "Duration"; - this.colTrialsDuration.MinimumWidth = 30; - this.colTrialsDuration.Name = "colTrialsDuration"; - this.colTrialsDuration.Width = 60; - // - // colTrialsEliminateData - // - this.colTrialsEliminateData.DataPropertyName = "EliminateData"; - this.colTrialsEliminateData.HeaderText = "Eliminate"; - this.colTrialsEliminateData.MinimumWidth = 30; - this.colTrialsEliminateData.Name = "colTrialsEliminateData"; - this.colTrialsEliminateData.Width = 60; - // - // toolStripContainer1 - // - // - // toolStripContainer1.ContentPanel - // - this.toolStripContainer1.ContentPanel.Controls.Add(this.tacTables); - this.toolStripContainer1.ContentPanel.Size = new System.Drawing.Size(664, 324); - this.toolStripContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.toolStripContainer1.Location = new System.Drawing.Point(0, 0); - this.toolStripContainer1.Name = "toolStripContainer1"; - this.toolStripContainer1.Size = new System.Drawing.Size(664, 349); - this.toolStripContainer1.TabIndex = 3; - this.toolStripContainer1.Text = "toolStripContainer1"; - // - // toolStripContainer1.TopToolStripPanel - // - this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1); - // - // tacTables - // - this.tacTables.Controls.Add(this.tbpSubjects); - this.tacTables.Controls.Add(this.tbpSubjectParameters); - this.tacTables.Controls.Add(this.tbpParams); - this.tacTables.Controls.Add(this.tbpTrials); - this.tacTables.Controls.Add(this.tbpTrialEvents); - this.tacTables.Controls.Add(this.tbpRawdata); - this.tacTables.Controls.Add(this.tbpGazeFixations); - this.tacTables.Controls.Add(this.tbpMouseFixations); - this.tacTables.Controls.Add(this.tbpAOI); - this.tacTables.Controls.Add(this.tbpShapeGroups); - this.tacTables.Dock = System.Windows.Forms.DockStyle.Fill; - this.tacTables.ImageList = this.imlTabs; - this.tacTables.Location = new System.Drawing.Point(0, 0); - this.tacTables.Name = "tacTables"; - this.tacTables.SelectedIndex = 0; - this.tacTables.Size = new System.Drawing.Size(664, 324); - this.tacTables.TabIndex = 1; - // - // tbpSubjects - // - this.tbpSubjects.Controls.Add(this.dgvSubjects); - this.tbpSubjects.ImageKey = "Subjects"; - this.tbpSubjects.Location = new System.Drawing.Point(4, 23); - this.tbpSubjects.Name = "tbpSubjects"; - this.tbpSubjects.Padding = new System.Windows.Forms.Padding(3); - this.tbpSubjects.Size = new System.Drawing.Size(656, 297); - this.tbpSubjects.TabIndex = 0; - this.tbpSubjects.Text = "Subjects"; - this.tbpSubjects.UseVisualStyleBackColor = true; - // - // tbpSubjectParameters - // - this.tbpSubjectParameters.Controls.Add(this.dgvSubjectParameters); - this.tbpSubjectParameters.ImageKey = "SubjectProperties"; - this.tbpSubjectParameters.Location = new System.Drawing.Point(4, 23); - this.tbpSubjectParameters.Name = "tbpSubjectParameters"; - this.tbpSubjectParameters.Padding = new System.Windows.Forms.Padding(3); - this.tbpSubjectParameters.Size = new System.Drawing.Size(656, 297); - this.tbpSubjectParameters.TabIndex = 8; - this.tbpSubjectParameters.Text = "Subject parameters"; - this.tbpSubjectParameters.UseVisualStyleBackColor = true; - // - // dgvSubjectParameters - // - this.dgvSubjectParameters.AutoGenerateColumns = false; - this.dgvSubjectParameters.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvSubjectParameters.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvTrials.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + this.dgvTrials.RowEnter += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvTrials_RowEnter); + // + // colTrialsID + // + this.colTrialsID.DataPropertyName = "ID"; + this.colTrialsID.HeaderText = "ID"; + this.colTrialsID.MinimumWidth = 30; + this.colTrialsID.Name = "colTrialsID"; + this.colTrialsID.ReadOnly = true; + this.colTrialsID.Width = 60; + // + // colTrialsSubjectName + // + this.colTrialsSubjectName.DataPropertyName = "SubjectName"; + this.colTrialsSubjectName.HeaderText = "Subjectname"; + this.colTrialsSubjectName.MinimumWidth = 30; + this.colTrialsSubjectName.Name = "colTrialsSubjectName"; + this.colTrialsSubjectName.Width = 80; + // + // colTrialsTrialSequence + // + this.colTrialsTrialSequence.DataPropertyName = "TrialSequence"; + this.colTrialsTrialSequence.HeaderText = "Sequence"; + this.colTrialsTrialSequence.MinimumWidth = 30; + this.colTrialsTrialSequence.Name = "colTrialsTrialSequence"; + this.colTrialsTrialSequence.Width = 80; + // + // colTrialsTrialID + // + this.colTrialsTrialID.DataPropertyName = "TrialID"; + this.colTrialsTrialID.HeaderText = "TrialID"; + this.colTrialsTrialID.MinimumWidth = 30; + this.colTrialsTrialID.Name = "colTrialsTrialID"; + this.colTrialsTrialID.Width = 40; + // + // colTrialsTrialName + // + this.colTrialsTrialName.DataPropertyName = "TrialName"; + this.colTrialsTrialName.HeaderText = "Name"; + this.colTrialsTrialName.MinimumWidth = 30; + this.colTrialsTrialName.Name = "colTrialsTrialName"; + this.colTrialsTrialName.Width = 80; + // + // colTrialsCategory + // + this.colTrialsCategory.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colTrialsCategory.DataPropertyName = "Category"; + this.colTrialsCategory.HeaderText = "Category"; + this.colTrialsCategory.MinimumWidth = 30; + this.colTrialsCategory.Name = "colTrialsCategory"; + // + // colTrialsTrialStartTime + // + this.colTrialsTrialStartTime.DataPropertyName = "TrialStartTime"; + this.colTrialsTrialStartTime.HeaderText = "StartTime"; + this.colTrialsTrialStartTime.MinimumWidth = 30; + this.colTrialsTrialStartTime.Name = "colTrialsTrialStartTime"; + this.colTrialsTrialStartTime.Width = 60; + // + // colTrialsDuration + // + this.colTrialsDuration.DataPropertyName = "Duration"; + this.colTrialsDuration.HeaderText = "Duration"; + this.colTrialsDuration.MinimumWidth = 30; + this.colTrialsDuration.Name = "colTrialsDuration"; + this.colTrialsDuration.Width = 60; + // + // colTrialsEliminateData + // + this.colTrialsEliminateData.DataPropertyName = "EliminateData"; + this.colTrialsEliminateData.HeaderText = "Eliminate"; + this.colTrialsEliminateData.MinimumWidth = 30; + this.colTrialsEliminateData.Name = "colTrialsEliminateData"; + this.colTrialsEliminateData.Width = 60; + // + // toolStripContainer1 + // + // + // toolStripContainer1.ContentPanel + // + this.toolStripContainer1.ContentPanel.Controls.Add(this.tacTables); + this.toolStripContainer1.ContentPanel.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.toolStripContainer1.ContentPanel.Size = new System.Drawing.Size(885, 403); + this.toolStripContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.toolStripContainer1.Location = new System.Drawing.Point(0, 0); + this.toolStripContainer1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.toolStripContainer1.Name = "toolStripContainer1"; + this.toolStripContainer1.Size = new System.Drawing.Size(885, 430); + this.toolStripContainer1.TabIndex = 3; + this.toolStripContainer1.Text = "toolStripContainer1"; + // + // toolStripContainer1.TopToolStripPanel + // + this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1); + // + // tacTables + // + this.tacTables.Controls.Add(this.tbpSubjects); + this.tacTables.Controls.Add(this.tbpSubjectParameters); + this.tacTables.Controls.Add(this.tbpParams); + this.tacTables.Controls.Add(this.tbpTrials); + this.tacTables.Controls.Add(this.tbpTrialEvents); + this.tacTables.Controls.Add(this.tbpRawdata); + this.tacTables.Controls.Add(this.tbpGazeFixations); + this.tacTables.Controls.Add(this.tbpMouseFixations); + this.tacTables.Controls.Add(this.tbpAOI); + this.tacTables.Controls.Add(this.tbpShapeGroups); + this.tacTables.Dock = System.Windows.Forms.DockStyle.Fill; + this.tacTables.ImageList = this.imlTabs; + this.tacTables.Location = new System.Drawing.Point(0, 0); + this.tacTables.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tacTables.Name = "tacTables"; + this.tacTables.SelectedIndex = 0; + this.tacTables.Size = new System.Drawing.Size(885, 403); + this.tacTables.TabIndex = 1; + // + // tbpSubjects + // + this.tbpSubjects.Controls.Add(this.dgvSubjects); + this.tbpSubjects.ImageKey = "Subjects"; + this.tbpSubjects.Location = new System.Drawing.Point(4, 25); + this.tbpSubjects.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpSubjects.Name = "tbpSubjects"; + this.tbpSubjects.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpSubjects.Size = new System.Drawing.Size(877, 374); + this.tbpSubjects.TabIndex = 0; + this.tbpSubjects.Text = "Subjects"; + this.tbpSubjects.UseVisualStyleBackColor = true; + // + // tbpSubjectParameters + // + this.tbpSubjectParameters.Controls.Add(this.dgvSubjectParameters); + this.tbpSubjectParameters.ImageKey = "SubjectProperties"; + this.tbpSubjectParameters.Location = new System.Drawing.Point(4, 25); + this.tbpSubjectParameters.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpSubjectParameters.Name = "tbpSubjectParameters"; + this.tbpSubjectParameters.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpSubjectParameters.Size = new System.Drawing.Size(877, 367); + this.tbpSubjectParameters.TabIndex = 8; + this.tbpSubjectParameters.Text = "Subject parameters"; + this.tbpSubjectParameters.UseVisualStyleBackColor = true; + // + // dgvSubjectParameters + // + this.dgvSubjectParameters.AutoGenerateColumns = false; + this.dgvSubjectParameters.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSubjectParameters.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSubjectParametersID, this.colSubjectParametersSubjectName, this.colSubjectParametersParam, this.colSubjectParametersSubjectNameParamValue}); - this.dgvSubjectParameters.DataSource = this.bsoFKSubjectsSubjectParameters; - this.dgvSubjectParameters.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvSubjectParameters.Location = new System.Drawing.Point(3, 3); - this.dgvSubjectParameters.Name = "dgvSubjectParameters"; - this.dgvSubjectParameters.Size = new System.Drawing.Size(650, 291); - this.dgvSubjectParameters.TabIndex = 0; - // - // colSubjectParametersID - // - this.colSubjectParametersID.DataPropertyName = "ID"; - this.colSubjectParametersID.HeaderText = "ID"; - this.colSubjectParametersID.MinimumWidth = 30; - this.colSubjectParametersID.Name = "colSubjectParametersID"; - this.colSubjectParametersID.ReadOnly = true; - this.colSubjectParametersID.Width = 60; - // - // colSubjectParametersSubjectName - // - this.colSubjectParametersSubjectName.DataPropertyName = "SubjectName"; - this.colSubjectParametersSubjectName.HeaderText = "SubjectName"; - this.colSubjectParametersSubjectName.MinimumWidth = 80; - this.colSubjectParametersSubjectName.Name = "colSubjectParametersSubjectName"; - // - // colSubjectParametersParam - // - this.colSubjectParametersParam.DataPropertyName = "Param"; - this.colSubjectParametersParam.DataSource = this.bsoParams; - this.colSubjectParametersParam.DisplayMember = "Param"; - this.colSubjectParametersParam.HeaderText = "Param"; - this.colSubjectParametersParam.MinimumWidth = 80; - this.colSubjectParametersParam.Name = "colSubjectParametersParam"; - this.colSubjectParametersParam.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colSubjectParametersParam.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colSubjectParametersParam.ValueMember = "Param"; - // - // colSubjectParametersSubjectNameParamValue - // - this.colSubjectParametersSubjectNameParamValue.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colSubjectParametersSubjectNameParamValue.DataPropertyName = "ParamValue"; - this.colSubjectParametersSubjectNameParamValue.HeaderText = "ParamValue"; - this.colSubjectParametersSubjectNameParamValue.MinimumWidth = 60; - this.colSubjectParametersSubjectNameParamValue.Name = "colSubjectParametersSubjectNameParamValue"; - // - // tbpParams - // - this.tbpParams.Controls.Add(this.dgvParams); - this.tbpParams.ImageKey = "Params"; - this.tbpParams.Location = new System.Drawing.Point(4, 23); - this.tbpParams.Name = "tbpParams"; - this.tbpParams.Padding = new System.Windows.Forms.Padding(3); - this.tbpParams.Size = new System.Drawing.Size(656, 297); - this.tbpParams.TabIndex = 9; - this.tbpParams.Text = "CustomParams"; - this.tbpParams.UseVisualStyleBackColor = true; - // - // dgvParams - // - this.dgvParams.AutoGenerateColumns = false; - this.dgvParams.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvParams.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvSubjectParameters.DataSource = this.bsoFKSubjectsSubjectParameters; + this.dgvSubjectParameters.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSubjectParameters.Location = new System.Drawing.Point(4, 4); + this.dgvSubjectParameters.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvSubjectParameters.Name = "dgvSubjectParameters"; + this.dgvSubjectParameters.Size = new System.Drawing.Size(869, 359); + this.dgvSubjectParameters.TabIndex = 0; + // + // colSubjectParametersID + // + this.colSubjectParametersID.DataPropertyName = "ID"; + this.colSubjectParametersID.HeaderText = "ID"; + this.colSubjectParametersID.MinimumWidth = 30; + this.colSubjectParametersID.Name = "colSubjectParametersID"; + this.colSubjectParametersID.ReadOnly = true; + this.colSubjectParametersID.Width = 60; + // + // colSubjectParametersSubjectName + // + this.colSubjectParametersSubjectName.DataPropertyName = "SubjectName"; + this.colSubjectParametersSubjectName.HeaderText = "SubjectName"; + this.colSubjectParametersSubjectName.MinimumWidth = 80; + this.colSubjectParametersSubjectName.Name = "colSubjectParametersSubjectName"; + // + // colSubjectParametersParam + // + this.colSubjectParametersParam.DataPropertyName = "Param"; + this.colSubjectParametersParam.DataSource = this.bsoParams; + this.colSubjectParametersParam.DisplayMember = "Param"; + this.colSubjectParametersParam.HeaderText = "Param"; + this.colSubjectParametersParam.MinimumWidth = 80; + this.colSubjectParametersParam.Name = "colSubjectParametersParam"; + this.colSubjectParametersParam.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSubjectParametersParam.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSubjectParametersParam.ValueMember = "Param"; + // + // colSubjectParametersSubjectNameParamValue + // + this.colSubjectParametersSubjectNameParamValue.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colSubjectParametersSubjectNameParamValue.DataPropertyName = "ParamValue"; + this.colSubjectParametersSubjectNameParamValue.HeaderText = "ParamValue"; + this.colSubjectParametersSubjectNameParamValue.MinimumWidth = 60; + this.colSubjectParametersSubjectNameParamValue.Name = "colSubjectParametersSubjectNameParamValue"; + // + // tbpParams + // + this.tbpParams.Controls.Add(this.dgvParams); + this.tbpParams.ImageKey = "Params"; + this.tbpParams.Location = new System.Drawing.Point(4, 25); + this.tbpParams.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpParams.Name = "tbpParams"; + this.tbpParams.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpParams.Size = new System.Drawing.Size(877, 367); + this.tbpParams.TabIndex = 9; + this.tbpParams.Text = "CustomParams"; + this.tbpParams.UseVisualStyleBackColor = true; + // + // dgvParams + // + this.dgvParams.AutoGenerateColumns = false; + this.dgvParams.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvParams.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colParamsID, this.paramDataGridViewTextBoxColumn, this.descriptionDataGridViewTextBoxColumn}); - this.dgvParams.DataSource = this.bsoParams; - this.dgvParams.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvParams.Location = new System.Drawing.Point(3, 3); - this.dgvParams.Name = "dgvParams"; - this.dgvParams.Size = new System.Drawing.Size(650, 291); - this.dgvParams.TabIndex = 0; - // - // colParamsID - // - this.colParamsID.DataPropertyName = "ID"; - this.colParamsID.HeaderText = "ID"; - this.colParamsID.Name = "colParamsID"; - this.colParamsID.ReadOnly = true; - // - // paramDataGridViewTextBoxColumn - // - this.paramDataGridViewTextBoxColumn.DataPropertyName = "Param"; - this.paramDataGridViewTextBoxColumn.HeaderText = "Param"; - this.paramDataGridViewTextBoxColumn.Name = "paramDataGridViewTextBoxColumn"; - // - // descriptionDataGridViewTextBoxColumn - // - this.descriptionDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.descriptionDataGridViewTextBoxColumn.DataPropertyName = "Description"; - this.descriptionDataGridViewTextBoxColumn.HeaderText = "Description"; - this.descriptionDataGridViewTextBoxColumn.Name = "descriptionDataGridViewTextBoxColumn"; - // - // tbpTrials - // - this.tbpTrials.Controls.Add(this.dgvTrials); - this.tbpTrials.ImageKey = "Trials"; - this.tbpTrials.Location = new System.Drawing.Point(4, 23); - this.tbpTrials.Name = "tbpTrials"; - this.tbpTrials.Padding = new System.Windows.Forms.Padding(3); - this.tbpTrials.Size = new System.Drawing.Size(656, 297); - this.tbpTrials.TabIndex = 1; - this.tbpTrials.Text = "Trials"; - this.tbpTrials.UseVisualStyleBackColor = true; - // - // tbpTrialEvents - // - this.tbpTrialEvents.Controls.Add(this.dgvTrialEvents); - this.tbpTrialEvents.ImageKey = "Events"; - this.tbpTrialEvents.Location = new System.Drawing.Point(4, 23); - this.tbpTrialEvents.Name = "tbpTrialEvents"; - this.tbpTrialEvents.Padding = new System.Windows.Forms.Padding(3); - this.tbpTrialEvents.Size = new System.Drawing.Size(656, 297); - this.tbpTrialEvents.TabIndex = 5; - this.tbpTrialEvents.Text = "Trial Events"; - this.tbpTrialEvents.UseVisualStyleBackColor = true; - // - // dgvTrialEvents - // - this.dgvTrialEvents.AllowUserToAddRows = false; - this.dgvTrialEvents.AutoGenerateColumns = false; - this.dgvTrialEvents.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvTrialEvents.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvParams.DataSource = this.bsoParams; + this.dgvParams.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvParams.Location = new System.Drawing.Point(4, 4); + this.dgvParams.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvParams.Name = "dgvParams"; + this.dgvParams.Size = new System.Drawing.Size(869, 359); + this.dgvParams.TabIndex = 0; + // + // colParamsID + // + this.colParamsID.DataPropertyName = "ID"; + this.colParamsID.HeaderText = "ID"; + this.colParamsID.Name = "colParamsID"; + this.colParamsID.ReadOnly = true; + // + // paramDataGridViewTextBoxColumn + // + this.paramDataGridViewTextBoxColumn.DataPropertyName = "Param"; + this.paramDataGridViewTextBoxColumn.HeaderText = "Param"; + this.paramDataGridViewTextBoxColumn.Name = "paramDataGridViewTextBoxColumn"; + // + // descriptionDataGridViewTextBoxColumn + // + this.descriptionDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.descriptionDataGridViewTextBoxColumn.DataPropertyName = "Description"; + this.descriptionDataGridViewTextBoxColumn.HeaderText = "Description"; + this.descriptionDataGridViewTextBoxColumn.Name = "descriptionDataGridViewTextBoxColumn"; + // + // tbpTrials + // + this.tbpTrials.Controls.Add(this.dgvTrials); + this.tbpTrials.ImageKey = "Trials"; + this.tbpTrials.Location = new System.Drawing.Point(4, 25); + this.tbpTrials.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpTrials.Name = "tbpTrials"; + this.tbpTrials.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpTrials.Size = new System.Drawing.Size(877, 367); + this.tbpTrials.TabIndex = 1; + this.tbpTrials.Text = "Trials"; + this.tbpTrials.UseVisualStyleBackColor = true; + // + // tbpTrialEvents + // + this.tbpTrialEvents.Controls.Add(this.dgvTrialEvents); + this.tbpTrialEvents.ImageKey = "Events"; + this.tbpTrialEvents.Location = new System.Drawing.Point(4, 25); + this.tbpTrialEvents.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpTrialEvents.Name = "tbpTrialEvents"; + this.tbpTrialEvents.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpTrialEvents.Size = new System.Drawing.Size(877, 367); + this.tbpTrialEvents.TabIndex = 5; + this.tbpTrialEvents.Text = "Trial Events"; + this.tbpTrialEvents.UseVisualStyleBackColor = true; + // + // dgvTrialEvents + // + this.dgvTrialEvents.AllowUserToAddRows = false; + this.dgvTrialEvents.AutoGenerateColumns = false; + this.dgvTrialEvents.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvTrialEvents.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colTrialEventsID, this.colTrialEventsSubjectName, this.colTrialEventsTrialSequence, @@ -618,110 +630,113 @@ private void InitializeComponent() this.colTrialEventsEventType, this.colTrialEventsEventTask, this.colTrialEventsEventParam}); - this.dgvTrialEvents.ContextMenuStrip = this.cmsDataGridView; - this.dgvTrialEvents.DataSource = this.bsoFKTrialsEvents; - this.dgvTrialEvents.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvTrialEvents.Location = new System.Drawing.Point(3, 3); - this.dgvTrialEvents.Name = "dgvTrialEvents"; - this.dgvTrialEvents.Size = new System.Drawing.Size(650, 291); - this.dgvTrialEvents.TabIndex = 0; - this.dgvTrialEvents.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - // - // colTrialEventsID - // - this.colTrialEventsID.DataPropertyName = "ID"; - this.colTrialEventsID.HeaderText = "ID"; - this.colTrialEventsID.MinimumWidth = 30; - this.colTrialEventsID.Name = "colTrialEventsID"; - this.colTrialEventsID.ReadOnly = true; - this.colTrialEventsID.Width = 60; - // - // colTrialEventsSubjectName - // - this.colTrialEventsSubjectName.DataPropertyName = "SubjectName"; - this.colTrialEventsSubjectName.HeaderText = "SubjectName"; - this.colTrialEventsSubjectName.MinimumWidth = 30; - this.colTrialEventsSubjectName.Name = "colTrialEventsSubjectName"; - this.colTrialEventsSubjectName.Width = 80; - // - // colTrialEventsTrialSequence - // - this.colTrialEventsTrialSequence.DataPropertyName = "TrialSequence"; - this.colTrialEventsTrialSequence.HeaderText = "TrialSequence"; - this.colTrialEventsTrialSequence.MinimumWidth = 30; - this.colTrialEventsTrialSequence.Name = "colTrialEventsTrialSequence"; - this.colTrialEventsTrialSequence.Width = 80; - // - // colTrialEventsEventID - // - this.colTrialEventsEventID.DataPropertyName = "EventID"; - this.colTrialEventsEventID.HeaderText = "EventID"; - this.colTrialEventsEventID.MinimumWidth = 30; - this.colTrialEventsEventID.Name = "colTrialEventsEventID"; - this.colTrialEventsEventID.Width = 60; - // - // colTrialEventsEventTime - // - this.colTrialEventsEventTime.DataPropertyName = "EventTime"; - this.colTrialEventsEventTime.HeaderText = "EventTime"; - this.colTrialEventsEventTime.MinimumWidth = 30; - this.colTrialEventsEventTime.Name = "colTrialEventsEventTime"; - this.colTrialEventsEventTime.Width = 60; - // - // colTrialEventsEventType - // - this.colTrialEventsEventType.DataPropertyName = "EventType"; - this.colTrialEventsEventType.HeaderText = "EventType"; - this.colTrialEventsEventType.MinimumWidth = 30; - this.colTrialEventsEventType.Name = "colTrialEventsEventType"; - this.colTrialEventsEventType.Width = 80; - // - // colTrialEventsEventTask - // - this.colTrialEventsEventTask.DataPropertyName = "EventTask"; - this.colTrialEventsEventTask.HeaderText = "EventTask"; - this.colTrialEventsEventTask.MinimumWidth = 30; - this.colTrialEventsEventTask.Name = "colTrialEventsEventTask"; - this.colTrialEventsEventTask.Width = 80; - // - // colTrialEventsEventParam - // - this.colTrialEventsEventParam.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colTrialEventsEventParam.DataPropertyName = "EventParam"; - this.colTrialEventsEventParam.HeaderText = "EventParam"; - this.colTrialEventsEventParam.MinimumWidth = 30; - this.colTrialEventsEventParam.Name = "colTrialEventsEventParam"; - // - // tbpRawdata - // - this.tbpRawdata.Controls.Add(this.dgvRawData); - this.tbpRawdata.ImageKey = "RawData"; - this.tbpRawdata.Location = new System.Drawing.Point(4, 23); - this.tbpRawdata.Name = "tbpRawdata"; - this.tbpRawdata.Padding = new System.Windows.Forms.Padding(3); - this.tbpRawdata.Size = new System.Drawing.Size(656, 297); - this.tbpRawdata.TabIndex = 2; - this.tbpRawdata.Text = "Raw data"; - this.tbpRawdata.UseVisualStyleBackColor = true; - // - // tbpGazeFixations - // - this.tbpGazeFixations.Controls.Add(this.dgvGazeFixations); - this.tbpGazeFixations.ImageKey = "GazeFixations"; - this.tbpGazeFixations.Location = new System.Drawing.Point(4, 23); - this.tbpGazeFixations.Name = "tbpGazeFixations"; - this.tbpGazeFixations.Padding = new System.Windows.Forms.Padding(3); - this.tbpGazeFixations.Size = new System.Drawing.Size(656, 297); - this.tbpGazeFixations.TabIndex = 3; - this.tbpGazeFixations.Text = "Gaze Fixations"; - this.tbpGazeFixations.UseVisualStyleBackColor = true; - // - // dgvGazeFixations - // - this.dgvGazeFixations.AllowUserToAddRows = false; - this.dgvGazeFixations.AutoGenerateColumns = false; - this.dgvGazeFixations.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvGazeFixations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvTrialEvents.ContextMenuStrip = this.cmsDataGridView; + this.dgvTrialEvents.DataSource = this.bsoFKTrialsEvents; + this.dgvTrialEvents.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvTrialEvents.Location = new System.Drawing.Point(4, 4); + this.dgvTrialEvents.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvTrialEvents.Name = "dgvTrialEvents"; + this.dgvTrialEvents.Size = new System.Drawing.Size(869, 359); + this.dgvTrialEvents.TabIndex = 0; + this.dgvTrialEvents.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + // + // colTrialEventsID + // + this.colTrialEventsID.DataPropertyName = "ID"; + this.colTrialEventsID.HeaderText = "ID"; + this.colTrialEventsID.MinimumWidth = 30; + this.colTrialEventsID.Name = "colTrialEventsID"; + this.colTrialEventsID.ReadOnly = true; + this.colTrialEventsID.Width = 60; + // + // colTrialEventsSubjectName + // + this.colTrialEventsSubjectName.DataPropertyName = "SubjectName"; + this.colTrialEventsSubjectName.HeaderText = "SubjectName"; + this.colTrialEventsSubjectName.MinimumWidth = 30; + this.colTrialEventsSubjectName.Name = "colTrialEventsSubjectName"; + this.colTrialEventsSubjectName.Width = 80; + // + // colTrialEventsTrialSequence + // + this.colTrialEventsTrialSequence.DataPropertyName = "TrialSequence"; + this.colTrialEventsTrialSequence.HeaderText = "TrialSequence"; + this.colTrialEventsTrialSequence.MinimumWidth = 30; + this.colTrialEventsTrialSequence.Name = "colTrialEventsTrialSequence"; + this.colTrialEventsTrialSequence.Width = 80; + // + // colTrialEventsEventID + // + this.colTrialEventsEventID.DataPropertyName = "EventID"; + this.colTrialEventsEventID.HeaderText = "EventID"; + this.colTrialEventsEventID.MinimumWidth = 30; + this.colTrialEventsEventID.Name = "colTrialEventsEventID"; + this.colTrialEventsEventID.Width = 60; + // + // colTrialEventsEventTime + // + this.colTrialEventsEventTime.DataPropertyName = "EventTime"; + this.colTrialEventsEventTime.HeaderText = "EventTime"; + this.colTrialEventsEventTime.MinimumWidth = 30; + this.colTrialEventsEventTime.Name = "colTrialEventsEventTime"; + this.colTrialEventsEventTime.Width = 60; + // + // colTrialEventsEventType + // + this.colTrialEventsEventType.DataPropertyName = "EventType"; + this.colTrialEventsEventType.HeaderText = "EventType"; + this.colTrialEventsEventType.MinimumWidth = 30; + this.colTrialEventsEventType.Name = "colTrialEventsEventType"; + this.colTrialEventsEventType.Width = 80; + // + // colTrialEventsEventTask + // + this.colTrialEventsEventTask.DataPropertyName = "EventTask"; + this.colTrialEventsEventTask.HeaderText = "EventTask"; + this.colTrialEventsEventTask.MinimumWidth = 30; + this.colTrialEventsEventTask.Name = "colTrialEventsEventTask"; + this.colTrialEventsEventTask.Width = 80; + // + // colTrialEventsEventParam + // + this.colTrialEventsEventParam.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colTrialEventsEventParam.DataPropertyName = "EventParam"; + this.colTrialEventsEventParam.HeaderText = "EventParam"; + this.colTrialEventsEventParam.MinimumWidth = 30; + this.colTrialEventsEventParam.Name = "colTrialEventsEventParam"; + // + // tbpRawdata + // + this.tbpRawdata.Controls.Add(this.dgvRawData); + this.tbpRawdata.ImageKey = "RawData"; + this.tbpRawdata.Location = new System.Drawing.Point(4, 25); + this.tbpRawdata.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpRawdata.Name = "tbpRawdata"; + this.tbpRawdata.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpRawdata.Size = new System.Drawing.Size(877, 367); + this.tbpRawdata.TabIndex = 2; + this.tbpRawdata.Text = "Raw data"; + this.tbpRawdata.UseVisualStyleBackColor = true; + // + // tbpGazeFixations + // + this.tbpGazeFixations.Controls.Add(this.dgvGazeFixations); + this.tbpGazeFixations.ImageKey = "GazeFixations"; + this.tbpGazeFixations.Location = new System.Drawing.Point(4, 25); + this.tbpGazeFixations.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpGazeFixations.Name = "tbpGazeFixations"; + this.tbpGazeFixations.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpGazeFixations.Size = new System.Drawing.Size(877, 367); + this.tbpGazeFixations.TabIndex = 3; + this.tbpGazeFixations.Text = "Gaze Fixations"; + this.tbpGazeFixations.UseVisualStyleBackColor = true; + // + // dgvGazeFixations + // + this.dgvGazeFixations.AllowUserToAddRows = false; + this.dgvGazeFixations.AutoGenerateColumns = false; + this.dgvGazeFixations.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvGazeFixations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colGazeFixationsID, this.colGazeFixationsSubjectName, this.colGazeFixationsTrialID, @@ -731,106 +746,108 @@ private void InitializeComponent() this.colGazeFixationsLength, this.colGazeFixationsPosX, this.colGazeFixationsPosY}); - this.dgvGazeFixations.ContextMenuStrip = this.cmsDataGridView; - this.dgvGazeFixations.DataSource = this.bsoTrialsGazeFixations; - this.dgvGazeFixations.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvGazeFixations.Location = new System.Drawing.Point(3, 3); - this.dgvGazeFixations.Name = "dgvGazeFixations"; - this.dgvGazeFixations.Size = new System.Drawing.Size(650, 291); - this.dgvGazeFixations.TabIndex = 0; - this.dgvGazeFixations.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - // - // colGazeFixationsID - // - this.colGazeFixationsID.DataPropertyName = "ID"; - this.colGazeFixationsID.HeaderText = "ID"; - this.colGazeFixationsID.MinimumWidth = 30; - this.colGazeFixationsID.Name = "colGazeFixationsID"; - this.colGazeFixationsID.ReadOnly = true; - this.colGazeFixationsID.Width = 60; - // - // colGazeFixationsSubjectName - // - this.colGazeFixationsSubjectName.DataPropertyName = "SubjectName"; - this.colGazeFixationsSubjectName.HeaderText = "SubjectName"; - this.colGazeFixationsSubjectName.MinimumWidth = 30; - this.colGazeFixationsSubjectName.Name = "colGazeFixationsSubjectName"; - this.colGazeFixationsSubjectName.Width = 80; - // - // colGazeFixationsTrialID - // - this.colGazeFixationsTrialID.DataPropertyName = "TrialID"; - this.colGazeFixationsTrialID.HeaderText = "TrialID"; - this.colGazeFixationsTrialID.MinimumWidth = 30; - this.colGazeFixationsTrialID.Name = "colGazeFixationsTrialID"; - this.colGazeFixationsTrialID.Width = 60; - // - // colGazeFixationsTrialSequence - // - this.colGazeFixationsTrialSequence.DataPropertyName = "TrialSequence"; - this.colGazeFixationsTrialSequence.HeaderText = "TrialSequence"; - this.colGazeFixationsTrialSequence.MinimumWidth = 30; - this.colGazeFixationsTrialSequence.Name = "colGazeFixationsTrialSequence"; - this.colGazeFixationsTrialSequence.Width = 80; - // - // colGazeFixationsCountInTrial - // - this.colGazeFixationsCountInTrial.DataPropertyName = "CountInTrial"; - this.colGazeFixationsCountInTrial.HeaderText = "CountInTrial"; - this.colGazeFixationsCountInTrial.MinimumWidth = 30; - this.colGazeFixationsCountInTrial.Name = "colGazeFixationsCountInTrial"; - this.colGazeFixationsCountInTrial.Width = 80; - // - // colGazeFixationsStartTime - // - this.colGazeFixationsStartTime.DataPropertyName = "StartTime"; - this.colGazeFixationsStartTime.HeaderText = "StartTime"; - this.colGazeFixationsStartTime.MinimumWidth = 30; - this.colGazeFixationsStartTime.Name = "colGazeFixationsStartTime"; - this.colGazeFixationsStartTime.Width = 80; - // - // colGazeFixationsLength - // - this.colGazeFixationsLength.DataPropertyName = "Length"; - this.colGazeFixationsLength.HeaderText = "Length"; - this.colGazeFixationsLength.MinimumWidth = 30; - this.colGazeFixationsLength.Name = "colGazeFixationsLength"; - this.colGazeFixationsLength.Width = 80; - // - // colGazeFixationsPosX - // - this.colGazeFixationsPosX.DataPropertyName = "PosX"; - this.colGazeFixationsPosX.HeaderText = "PosX"; - this.colGazeFixationsPosX.MinimumWidth = 30; - this.colGazeFixationsPosX.Name = "colGazeFixationsPosX"; - this.colGazeFixationsPosX.Width = 60; - // - // colGazeFixationsPosY - // - this.colGazeFixationsPosY.DataPropertyName = "PosY"; - this.colGazeFixationsPosY.HeaderText = "PosY"; - this.colGazeFixationsPosY.MinimumWidth = 30; - this.colGazeFixationsPosY.Name = "colGazeFixationsPosY"; - this.colGazeFixationsPosY.Width = 60; - // - // tbpMouseFixations - // - this.tbpMouseFixations.Controls.Add(this.dgvMouseFixations); - this.tbpMouseFixations.ImageKey = "MouseFixations"; - this.tbpMouseFixations.Location = new System.Drawing.Point(4, 23); - this.tbpMouseFixations.Name = "tbpMouseFixations"; - this.tbpMouseFixations.Padding = new System.Windows.Forms.Padding(3); - this.tbpMouseFixations.Size = new System.Drawing.Size(656, 297); - this.tbpMouseFixations.TabIndex = 7; - this.tbpMouseFixations.Text = "Mouse Fixations"; - this.tbpMouseFixations.UseVisualStyleBackColor = true; - // - // dgvMouseFixations - // - this.dgvMouseFixations.AllowUserToAddRows = false; - this.dgvMouseFixations.AutoGenerateColumns = false; - this.dgvMouseFixations.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvMouseFixations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvGazeFixations.ContextMenuStrip = this.cmsDataGridView; + this.dgvGazeFixations.DataSource = this.bsoTrialsGazeFixations; + this.dgvGazeFixations.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvGazeFixations.Location = new System.Drawing.Point(4, 4); + this.dgvGazeFixations.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvGazeFixations.Name = "dgvGazeFixations"; + this.dgvGazeFixations.Size = new System.Drawing.Size(869, 359); + this.dgvGazeFixations.TabIndex = 0; + this.dgvGazeFixations.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + // + // colGazeFixationsID + // + this.colGazeFixationsID.DataPropertyName = "ID"; + this.colGazeFixationsID.HeaderText = "ID"; + this.colGazeFixationsID.MinimumWidth = 30; + this.colGazeFixationsID.Name = "colGazeFixationsID"; + this.colGazeFixationsID.ReadOnly = true; + this.colGazeFixationsID.Width = 60; + // + // colGazeFixationsSubjectName + // + this.colGazeFixationsSubjectName.DataPropertyName = "SubjectName"; + this.colGazeFixationsSubjectName.HeaderText = "SubjectName"; + this.colGazeFixationsSubjectName.MinimumWidth = 30; + this.colGazeFixationsSubjectName.Name = "colGazeFixationsSubjectName"; + this.colGazeFixationsSubjectName.Width = 80; + // + // colGazeFixationsTrialID + // + this.colGazeFixationsTrialID.DataPropertyName = "TrialID"; + this.colGazeFixationsTrialID.HeaderText = "TrialID"; + this.colGazeFixationsTrialID.MinimumWidth = 30; + this.colGazeFixationsTrialID.Name = "colGazeFixationsTrialID"; + this.colGazeFixationsTrialID.Width = 60; + // + // colGazeFixationsTrialSequence + // + this.colGazeFixationsTrialSequence.DataPropertyName = "TrialSequence"; + this.colGazeFixationsTrialSequence.HeaderText = "TrialSequence"; + this.colGazeFixationsTrialSequence.MinimumWidth = 30; + this.colGazeFixationsTrialSequence.Name = "colGazeFixationsTrialSequence"; + this.colGazeFixationsTrialSequence.Width = 80; + // + // colGazeFixationsCountInTrial + // + this.colGazeFixationsCountInTrial.DataPropertyName = "CountInTrial"; + this.colGazeFixationsCountInTrial.HeaderText = "CountInTrial"; + this.colGazeFixationsCountInTrial.MinimumWidth = 30; + this.colGazeFixationsCountInTrial.Name = "colGazeFixationsCountInTrial"; + this.colGazeFixationsCountInTrial.Width = 80; + // + // colGazeFixationsStartTime + // + this.colGazeFixationsStartTime.DataPropertyName = "StartTime"; + this.colGazeFixationsStartTime.HeaderText = "StartTime"; + this.colGazeFixationsStartTime.MinimumWidth = 30; + this.colGazeFixationsStartTime.Name = "colGazeFixationsStartTime"; + this.colGazeFixationsStartTime.Width = 80; + // + // colGazeFixationsLength + // + this.colGazeFixationsLength.DataPropertyName = "Length"; + this.colGazeFixationsLength.HeaderText = "Length"; + this.colGazeFixationsLength.MinimumWidth = 30; + this.colGazeFixationsLength.Name = "colGazeFixationsLength"; + this.colGazeFixationsLength.Width = 80; + // + // colGazeFixationsPosX + // + this.colGazeFixationsPosX.DataPropertyName = "PosX"; + this.colGazeFixationsPosX.HeaderText = "PosX"; + this.colGazeFixationsPosX.MinimumWidth = 30; + this.colGazeFixationsPosX.Name = "colGazeFixationsPosX"; + this.colGazeFixationsPosX.Width = 60; + // + // colGazeFixationsPosY + // + this.colGazeFixationsPosY.DataPropertyName = "PosY"; + this.colGazeFixationsPosY.HeaderText = "PosY"; + this.colGazeFixationsPosY.MinimumWidth = 30; + this.colGazeFixationsPosY.Name = "colGazeFixationsPosY"; + this.colGazeFixationsPosY.Width = 60; + // + // tbpMouseFixations + // + this.tbpMouseFixations.Controls.Add(this.dgvMouseFixations); + this.tbpMouseFixations.ImageKey = "MouseFixations"; + this.tbpMouseFixations.Location = new System.Drawing.Point(4, 25); + this.tbpMouseFixations.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpMouseFixations.Name = "tbpMouseFixations"; + this.tbpMouseFixations.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpMouseFixations.Size = new System.Drawing.Size(877, 367); + this.tbpMouseFixations.TabIndex = 7; + this.tbpMouseFixations.Text = "Mouse Fixations"; + this.tbpMouseFixations.UseVisualStyleBackColor = true; + // + // dgvMouseFixations + // + this.dgvMouseFixations.AllowUserToAddRows = false; + this.dgvMouseFixations.AutoGenerateColumns = false; + this.dgvMouseFixations.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvMouseFixations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colMouseFixationsID, this.colMouseFixationsSubjectName, this.colMouseFixationsTrialID, @@ -840,105 +857,107 @@ private void InitializeComponent() this.colMouseFixationsLength, this.colMouseFixationsPosX, this.colMouseFixationsPosY}); - this.dgvMouseFixations.ContextMenuStrip = this.cmsDataGridView; - this.dgvMouseFixations.DataSource = this.bsoTrialsMouseFixations; - this.dgvMouseFixations.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvMouseFixations.Location = new System.Drawing.Point(3, 3); - this.dgvMouseFixations.Name = "dgvMouseFixations"; - this.dgvMouseFixations.Size = new System.Drawing.Size(650, 291); - this.dgvMouseFixations.TabIndex = 0; - this.dgvMouseFixations.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - // - // colMouseFixationsID - // - this.colMouseFixationsID.DataPropertyName = "ID"; - this.colMouseFixationsID.HeaderText = "ID"; - this.colMouseFixationsID.MinimumWidth = 30; - this.colMouseFixationsID.Name = "colMouseFixationsID"; - this.colMouseFixationsID.ReadOnly = true; - this.colMouseFixationsID.Width = 60; - // - // colMouseFixationsSubjectName - // - this.colMouseFixationsSubjectName.DataPropertyName = "SubjectName"; - this.colMouseFixationsSubjectName.HeaderText = "SubjectName"; - this.colMouseFixationsSubjectName.MinimumWidth = 30; - this.colMouseFixationsSubjectName.Name = "colMouseFixationsSubjectName"; - this.colMouseFixationsSubjectName.Width = 80; - // - // colMouseFixationsTrialID - // - this.colMouseFixationsTrialID.DataPropertyName = "TrialID"; - this.colMouseFixationsTrialID.HeaderText = "TrialID"; - this.colMouseFixationsTrialID.MinimumWidth = 30; - this.colMouseFixationsTrialID.Name = "colMouseFixationsTrialID"; - this.colMouseFixationsTrialID.Width = 60; - // - // colMouseFixationsTrialSequence - // - this.colMouseFixationsTrialSequence.DataPropertyName = "TrialSequence"; - this.colMouseFixationsTrialSequence.HeaderText = "TrialSequence"; - this.colMouseFixationsTrialSequence.MinimumWidth = 30; - this.colMouseFixationsTrialSequence.Name = "colMouseFixationsTrialSequence"; - this.colMouseFixationsTrialSequence.Width = 80; - // - // colMouseFixationsCountInTrial - // - this.colMouseFixationsCountInTrial.DataPropertyName = "CountInTrial"; - this.colMouseFixationsCountInTrial.HeaderText = "CountInTrial"; - this.colMouseFixationsCountInTrial.MinimumWidth = 30; - this.colMouseFixationsCountInTrial.Name = "colMouseFixationsCountInTrial"; - this.colMouseFixationsCountInTrial.Width = 80; - // - // colMouseFixationsStartTime - // - this.colMouseFixationsStartTime.DataPropertyName = "StartTime"; - this.colMouseFixationsStartTime.HeaderText = "StartTime"; - this.colMouseFixationsStartTime.MinimumWidth = 30; - this.colMouseFixationsStartTime.Name = "colMouseFixationsStartTime"; - this.colMouseFixationsStartTime.Width = 80; - // - // colMouseFixationsLength - // - this.colMouseFixationsLength.DataPropertyName = "Length"; - this.colMouseFixationsLength.HeaderText = "Length"; - this.colMouseFixationsLength.MinimumWidth = 30; - this.colMouseFixationsLength.Name = "colMouseFixationsLength"; - this.colMouseFixationsLength.Width = 80; - // - // colMouseFixationsPosX - // - this.colMouseFixationsPosX.DataPropertyName = "PosX"; - this.colMouseFixationsPosX.HeaderText = "PosX"; - this.colMouseFixationsPosX.MinimumWidth = 30; - this.colMouseFixationsPosX.Name = "colMouseFixationsPosX"; - this.colMouseFixationsPosX.Width = 60; - // - // colMouseFixationsPosY - // - this.colMouseFixationsPosY.DataPropertyName = "PosY"; - this.colMouseFixationsPosY.HeaderText = "PosY"; - this.colMouseFixationsPosY.MinimumWidth = 30; - this.colMouseFixationsPosY.Name = "colMouseFixationsPosY"; - this.colMouseFixationsPosY.Width = 60; - // - // tbpAOI - // - this.tbpAOI.Controls.Add(this.dgvAOIs); - this.tbpAOI.ImageKey = "AOIs"; - this.tbpAOI.Location = new System.Drawing.Point(4, 23); - this.tbpAOI.Name = "tbpAOI"; - this.tbpAOI.Padding = new System.Windows.Forms.Padding(3); - this.tbpAOI.Size = new System.Drawing.Size(656, 297); - this.tbpAOI.TabIndex = 4; - this.tbpAOI.Text = "Areas of Interest"; - this.tbpAOI.UseVisualStyleBackColor = true; - // - // dgvAOIs - // - this.dgvAOIs.AutoGenerateColumns = false; - this.dgvAOIs.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvAOIs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvMouseFixations.ContextMenuStrip = this.cmsDataGridView; + this.dgvMouseFixations.DataSource = this.bsoTrialsMouseFixations; + this.dgvMouseFixations.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvMouseFixations.Location = new System.Drawing.Point(4, 4); + this.dgvMouseFixations.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvMouseFixations.Name = "dgvMouseFixations"; + this.dgvMouseFixations.Size = new System.Drawing.Size(869, 359); + this.dgvMouseFixations.TabIndex = 0; + this.dgvMouseFixations.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + // + // colMouseFixationsID + // + this.colMouseFixationsID.DataPropertyName = "ID"; + this.colMouseFixationsID.HeaderText = "ID"; + this.colMouseFixationsID.MinimumWidth = 30; + this.colMouseFixationsID.Name = "colMouseFixationsID"; + this.colMouseFixationsID.ReadOnly = true; + this.colMouseFixationsID.Width = 60; + // + // colMouseFixationsSubjectName + // + this.colMouseFixationsSubjectName.DataPropertyName = "SubjectName"; + this.colMouseFixationsSubjectName.HeaderText = "SubjectName"; + this.colMouseFixationsSubjectName.MinimumWidth = 30; + this.colMouseFixationsSubjectName.Name = "colMouseFixationsSubjectName"; + this.colMouseFixationsSubjectName.Width = 80; + // + // colMouseFixationsTrialID + // + this.colMouseFixationsTrialID.DataPropertyName = "TrialID"; + this.colMouseFixationsTrialID.HeaderText = "TrialID"; + this.colMouseFixationsTrialID.MinimumWidth = 30; + this.colMouseFixationsTrialID.Name = "colMouseFixationsTrialID"; + this.colMouseFixationsTrialID.Width = 60; + // + // colMouseFixationsTrialSequence + // + this.colMouseFixationsTrialSequence.DataPropertyName = "TrialSequence"; + this.colMouseFixationsTrialSequence.HeaderText = "TrialSequence"; + this.colMouseFixationsTrialSequence.MinimumWidth = 30; + this.colMouseFixationsTrialSequence.Name = "colMouseFixationsTrialSequence"; + this.colMouseFixationsTrialSequence.Width = 80; + // + // colMouseFixationsCountInTrial + // + this.colMouseFixationsCountInTrial.DataPropertyName = "CountInTrial"; + this.colMouseFixationsCountInTrial.HeaderText = "CountInTrial"; + this.colMouseFixationsCountInTrial.MinimumWidth = 30; + this.colMouseFixationsCountInTrial.Name = "colMouseFixationsCountInTrial"; + this.colMouseFixationsCountInTrial.Width = 80; + // + // colMouseFixationsStartTime + // + this.colMouseFixationsStartTime.DataPropertyName = "StartTime"; + this.colMouseFixationsStartTime.HeaderText = "StartTime"; + this.colMouseFixationsStartTime.MinimumWidth = 30; + this.colMouseFixationsStartTime.Name = "colMouseFixationsStartTime"; + this.colMouseFixationsStartTime.Width = 80; + // + // colMouseFixationsLength + // + this.colMouseFixationsLength.DataPropertyName = "Length"; + this.colMouseFixationsLength.HeaderText = "Length"; + this.colMouseFixationsLength.MinimumWidth = 30; + this.colMouseFixationsLength.Name = "colMouseFixationsLength"; + this.colMouseFixationsLength.Width = 80; + // + // colMouseFixationsPosX + // + this.colMouseFixationsPosX.DataPropertyName = "PosX"; + this.colMouseFixationsPosX.HeaderText = "PosX"; + this.colMouseFixationsPosX.MinimumWidth = 30; + this.colMouseFixationsPosX.Name = "colMouseFixationsPosX"; + this.colMouseFixationsPosX.Width = 60; + // + // colMouseFixationsPosY + // + this.colMouseFixationsPosY.DataPropertyName = "PosY"; + this.colMouseFixationsPosY.HeaderText = "PosY"; + this.colMouseFixationsPosY.MinimumWidth = 30; + this.colMouseFixationsPosY.Name = "colMouseFixationsPosY"; + this.colMouseFixationsPosY.Width = 60; + // + // tbpAOI + // + this.tbpAOI.Controls.Add(this.dgvAOIs); + this.tbpAOI.ImageKey = "AOIs"; + this.tbpAOI.Location = new System.Drawing.Point(4, 25); + this.tbpAOI.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpAOI.Name = "tbpAOI"; + this.tbpAOI.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpAOI.Size = new System.Drawing.Size(877, 367); + this.tbpAOI.TabIndex = 4; + this.tbpAOI.Text = "Areas of Interest"; + this.tbpAOI.UseVisualStyleBackColor = true; + // + // dgvAOIs + // + this.dgvAOIs.AutoGenerateColumns = false; + this.dgvAOIs.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvAOIs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colAOIsID, this.colAOIsTrialID, this.colAOIsSlideNr, @@ -947,151 +966,156 @@ private void InitializeComponent() this.colAOIsShapeNumPts, this.colAOIsShapePts, this.colAOIsShapeGroup}); - this.dgvAOIs.ContextMenuStrip = this.cmsDataGridView; - this.dgvAOIs.DataSource = this.bsoTrialsAOIs; - this.dgvAOIs.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvAOIs.Location = new System.Drawing.Point(3, 3); - this.dgvAOIs.Name = "dgvAOIs"; - this.dgvAOIs.Size = new System.Drawing.Size(650, 291); - this.dgvAOIs.TabIndex = 0; - this.dgvAOIs.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - // - // colAOIsID - // - this.colAOIsID.DataPropertyName = "ID"; - this.colAOIsID.HeaderText = "ID"; - this.colAOIsID.MinimumWidth = 30; - this.colAOIsID.Name = "colAOIsID"; - this.colAOIsID.ReadOnly = true; - this.colAOIsID.Width = 60; - // - // colAOIsTrialID - // - this.colAOIsTrialID.DataPropertyName = "TrialID"; - this.colAOIsTrialID.HeaderText = "TrialID"; - this.colAOIsTrialID.MinimumWidth = 30; - this.colAOIsTrialID.Name = "colAOIsTrialID"; - this.colAOIsTrialID.Width = 60; - // - // colAOIsSlideNr - // - this.colAOIsSlideNr.DataPropertyName = "SlideNr"; - this.colAOIsSlideNr.HeaderText = "SlideNr"; - this.colAOIsSlideNr.MinimumWidth = 30; - this.colAOIsSlideNr.Name = "colAOIsSlideNr"; - this.colAOIsSlideNr.Width = 60; - // - // colAOIsShapeName - // - this.colAOIsShapeName.DataPropertyName = "ShapeName"; - this.colAOIsShapeName.HeaderText = "Name"; - this.colAOIsShapeName.MinimumWidth = 30; - this.colAOIsShapeName.Name = "colAOIsShapeName"; - this.colAOIsShapeName.Width = 80; - // - // colAOIsShapeType - // - this.colAOIsShapeType.DataPropertyName = "ShapeType"; - this.colAOIsShapeType.HeaderText = "Type"; - this.colAOIsShapeType.MinimumWidth = 30; - this.colAOIsShapeType.Name = "colAOIsShapeType"; - this.colAOIsShapeType.Width = 80; - // - // colAOIsShapeNumPts - // - this.colAOIsShapeNumPts.DataPropertyName = "ShapeNumPts"; - this.colAOIsShapeNumPts.HeaderText = "NumPts"; - this.colAOIsShapeNumPts.MinimumWidth = 30; - this.colAOIsShapeNumPts.Name = "colAOIsShapeNumPts"; - this.colAOIsShapeNumPts.Width = 60; - // - // colAOIsShapePts - // - this.colAOIsShapePts.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colAOIsShapePts.DataPropertyName = "ShapePts"; - this.colAOIsShapePts.HeaderText = "Points"; - this.colAOIsShapePts.MinimumWidth = 30; - this.colAOIsShapePts.Name = "colAOIsShapePts"; - // - // colAOIsShapeGroup - // - this.colAOIsShapeGroup.DataPropertyName = "ShapeGroup"; - this.colAOIsShapeGroup.DataSource = this.bsoShapeGroups; - this.colAOIsShapeGroup.DisplayMember = "ShapeGroup"; - this.colAOIsShapeGroup.HeaderText = "Group"; - this.colAOIsShapeGroup.MinimumWidth = 30; - this.colAOIsShapeGroup.Name = "colAOIsShapeGroup"; - this.colAOIsShapeGroup.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colAOIsShapeGroup.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colAOIsShapeGroup.ValueMember = "ShapeGroup"; - this.colAOIsShapeGroup.Width = 80; - // - // tbpShapeGroups - // - this.tbpShapeGroups.Controls.Add(this.dgvShapeGroups); - this.tbpShapeGroups.ImageKey = "ShapeGroups"; - this.tbpShapeGroups.Location = new System.Drawing.Point(4, 23); - this.tbpShapeGroups.Name = "tbpShapeGroups"; - this.tbpShapeGroups.Padding = new System.Windows.Forms.Padding(3); - this.tbpShapeGroups.Size = new System.Drawing.Size(656, 297); - this.tbpShapeGroups.TabIndex = 6; - this.tbpShapeGroups.Text = "Shape Groups"; - this.tbpShapeGroups.UseVisualStyleBackColor = true; - // - // dgvShapeGroups - // - this.dgvShapeGroups.AutoGenerateColumns = false; - this.dgvShapeGroups.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; - this.dgvShapeGroups.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.dgvAOIs.ContextMenuStrip = this.cmsDataGridView; + this.dgvAOIs.DataSource = this.bsoTrialsAOIs; + this.dgvAOIs.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvAOIs.Location = new System.Drawing.Point(4, 4); + this.dgvAOIs.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvAOIs.Name = "dgvAOIs"; + this.dgvAOIs.Size = new System.Drawing.Size(869, 359); + this.dgvAOIs.TabIndex = 0; + this.dgvAOIs.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + // + // colAOIsID + // + this.colAOIsID.DataPropertyName = "ID"; + this.colAOIsID.HeaderText = "ID"; + this.colAOIsID.MinimumWidth = 30; + this.colAOIsID.Name = "colAOIsID"; + this.colAOIsID.ReadOnly = true; + this.colAOIsID.Width = 60; + // + // colAOIsTrialID + // + this.colAOIsTrialID.DataPropertyName = "TrialID"; + this.colAOIsTrialID.HeaderText = "TrialID"; + this.colAOIsTrialID.MinimumWidth = 30; + this.colAOIsTrialID.Name = "colAOIsTrialID"; + this.colAOIsTrialID.Width = 60; + // + // colAOIsSlideNr + // + this.colAOIsSlideNr.DataPropertyName = "SlideNr"; + this.colAOIsSlideNr.HeaderText = "SlideNr"; + this.colAOIsSlideNr.MinimumWidth = 30; + this.colAOIsSlideNr.Name = "colAOIsSlideNr"; + this.colAOIsSlideNr.Width = 60; + // + // colAOIsShapeName + // + this.colAOIsShapeName.DataPropertyName = "ShapeName"; + this.colAOIsShapeName.HeaderText = "Name"; + this.colAOIsShapeName.MinimumWidth = 30; + this.colAOIsShapeName.Name = "colAOIsShapeName"; + this.colAOIsShapeName.Width = 80; + // + // colAOIsShapeType + // + this.colAOIsShapeType.DataPropertyName = "ShapeType"; + this.colAOIsShapeType.HeaderText = "Type"; + this.colAOIsShapeType.MinimumWidth = 30; + this.colAOIsShapeType.Name = "colAOIsShapeType"; + this.colAOIsShapeType.Width = 80; + // + // colAOIsShapeNumPts + // + this.colAOIsShapeNumPts.DataPropertyName = "ShapeNumPts"; + this.colAOIsShapeNumPts.HeaderText = "NumPts"; + this.colAOIsShapeNumPts.MinimumWidth = 30; + this.colAOIsShapeNumPts.Name = "colAOIsShapeNumPts"; + this.colAOIsShapeNumPts.Width = 60; + // + // colAOIsShapePts + // + this.colAOIsShapePts.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colAOIsShapePts.DataPropertyName = "ShapePts"; + this.colAOIsShapePts.HeaderText = "Points"; + this.colAOIsShapePts.MinimumWidth = 30; + this.colAOIsShapePts.Name = "colAOIsShapePts"; + // + // colAOIsShapeGroup + // + this.colAOIsShapeGroup.DataPropertyName = "ShapeGroup"; + this.colAOIsShapeGroup.DataSource = this.bsoShapeGroups; + this.colAOIsShapeGroup.DisplayMember = "ShapeGroup"; + this.colAOIsShapeGroup.HeaderText = "Group"; + this.colAOIsShapeGroup.MinimumWidth = 30; + this.colAOIsShapeGroup.Name = "colAOIsShapeGroup"; + this.colAOIsShapeGroup.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colAOIsShapeGroup.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colAOIsShapeGroup.ValueMember = "ShapeGroup"; + this.colAOIsShapeGroup.Width = 80; + // + // tbpShapeGroups + // + this.tbpShapeGroups.Controls.Add(this.dgvShapeGroups); + this.tbpShapeGroups.ImageKey = "ShapeGroups"; + this.tbpShapeGroups.Location = new System.Drawing.Point(4, 25); + this.tbpShapeGroups.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpShapeGroups.Name = "tbpShapeGroups"; + this.tbpShapeGroups.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.tbpShapeGroups.Size = new System.Drawing.Size(877, 367); + this.tbpShapeGroups.TabIndex = 6; + this.tbpShapeGroups.Text = "Shape Groups"; + this.tbpShapeGroups.UseVisualStyleBackColor = true; + // + // dgvShapeGroups + // + this.dgvShapeGroups.AutoGenerateColumns = false; + this.dgvShapeGroups.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; + this.dgvShapeGroups.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colShapeGroupsID, this.colShapeGroupsShapeGroup}); - this.dgvShapeGroups.ContextMenuStrip = this.cmsDataGridView; - this.dgvShapeGroups.DataSource = this.bsoShapeGroups; - this.dgvShapeGroups.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvShapeGroups.Location = new System.Drawing.Point(3, 3); - this.dgvShapeGroups.Name = "dgvShapeGroups"; - this.dgvShapeGroups.Size = new System.Drawing.Size(650, 291); - this.dgvShapeGroups.TabIndex = 0; - this.dgvShapeGroups.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); - // - // colShapeGroupsID - // - this.colShapeGroupsID.DataPropertyName = "ID"; - this.colShapeGroupsID.HeaderText = "ID"; - this.colShapeGroupsID.MinimumWidth = 30; - this.colShapeGroupsID.Name = "colShapeGroupsID"; - this.colShapeGroupsID.ReadOnly = true; - this.colShapeGroupsID.Width = 60; - // - // colShapeGroupsShapeGroup - // - this.colShapeGroupsShapeGroup.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.colShapeGroupsShapeGroup.DataPropertyName = "ShapeGroup"; - this.colShapeGroupsShapeGroup.HeaderText = "ShapeGroup"; - this.colShapeGroupsShapeGroup.MinimumWidth = 30; - this.colShapeGroupsShapeGroup.Name = "colShapeGroupsShapeGroup"; - // - // imlTabs - // - this.imlTabs.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imlTabs.ImageStream"))); - this.imlTabs.TransparentColor = System.Drawing.Color.Magenta; - this.imlTabs.Images.SetKeyName(0, "Subjects"); - this.imlTabs.Images.SetKeyName(1, "SubjectProperties"); - this.imlTabs.Images.SetKeyName(2, "GazeFixations"); - this.imlTabs.Images.SetKeyName(3, "MouseFixations"); - this.imlTabs.Images.SetKeyName(4, "Trials"); - this.imlTabs.Images.SetKeyName(5, "RawData"); - this.imlTabs.Images.SetKeyName(6, "Events"); - this.imlTabs.Images.SetKeyName(7, "ShapeGroups"); - this.imlTabs.Images.SetKeyName(8, "AOIs"); - this.imlTabs.Images.SetKeyName(9, "Params"); - // - // toolStrip1 - // - this.toolStrip1.DataBindings.Add(new System.Windows.Forms.Binding("Location", global::Ogama.Properties.Settings.Default, "DTBToolbarLocation", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None; - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.dgvShapeGroups.ContextMenuStrip = this.cmsDataGridView; + this.dgvShapeGroups.DataSource = this.bsoShapeGroups; + this.dgvShapeGroups.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShapeGroups.Location = new System.Drawing.Point(4, 4); + this.dgvShapeGroups.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.dgvShapeGroups.Name = "dgvShapeGroups"; + this.dgvShapeGroups.Size = new System.Drawing.Size(869, 359); + this.dgvShapeGroups.TabIndex = 0; + this.dgvShapeGroups.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dataGridView_DataError); + // + // colShapeGroupsID + // + this.colShapeGroupsID.DataPropertyName = "ID"; + this.colShapeGroupsID.HeaderText = "ID"; + this.colShapeGroupsID.MinimumWidth = 30; + this.colShapeGroupsID.Name = "colShapeGroupsID"; + this.colShapeGroupsID.ReadOnly = true; + this.colShapeGroupsID.Width = 60; + // + // colShapeGroupsShapeGroup + // + this.colShapeGroupsShapeGroup.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.colShapeGroupsShapeGroup.DataPropertyName = "ShapeGroup"; + this.colShapeGroupsShapeGroup.HeaderText = "ShapeGroup"; + this.colShapeGroupsShapeGroup.MinimumWidth = 30; + this.colShapeGroupsShapeGroup.Name = "colShapeGroupsShapeGroup"; + // + // imlTabs + // + this.imlTabs.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imlTabs.ImageStream"))); + this.imlTabs.TransparentColor = System.Drawing.Color.Magenta; + this.imlTabs.Images.SetKeyName(0, "Subjects"); + this.imlTabs.Images.SetKeyName(1, "SubjectProperties"); + this.imlTabs.Images.SetKeyName(2, "GazeFixations"); + this.imlTabs.Images.SetKeyName(3, "MouseFixations"); + this.imlTabs.Images.SetKeyName(4, "Trials"); + this.imlTabs.Images.SetKeyName(5, "RawData"); + this.imlTabs.Images.SetKeyName(6, "Events"); + this.imlTabs.Images.SetKeyName(7, "ShapeGroups"); + this.imlTabs.Images.SetKeyName(8, "AOIs"); + this.imlTabs.Images.SetKeyName(9, "Params"); + // + // toolStrip1 + // + this.toolStrip1.DataBindings.Add(new System.Windows.Forms.Binding("Location", global::Ogama.Properties.Settings.Default, "DTBToolbarLocation", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None; + this.toolStrip1.ImageScalingSize = new System.Drawing.Size(20, 20); + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.btnImport, + this.uxImport, this.btnImportOgamaFormat, this.btnExport, this.toolStripSeparator1, @@ -1101,177 +1125,187 @@ private void InitializeComponent() this.toolStripSeparator2, this.btnHelp, this.btnSpecial}); - this.toolStrip1.Location = global::Ogama.Properties.Settings.Default.DTBToolbarLocation; - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.Size = new System.Drawing.Size(312, 25); - this.toolStrip1.TabIndex = 0; - // - // btnImport - // - this.btnImport.Image = global::Ogama.Properties.Resources.MagicWand; - this.btnImport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnImport.Name = "btnImport"; - this.btnImport.Size = new System.Drawing.Size(113, 22); - this.btnImport.Text = "Import Assistant"; - this.btnImport.ToolTipText = "Start import assistant to import eye- and/or mousetracker\r\ndata from ASCII files." + + this.toolStrip1.Location = global::Ogama.Properties.Settings.Default.DTBToolbarLocation; + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Size = new System.Drawing.Size(446, 27); + this.toolStrip1.TabIndex = 0; + // + // btnImport + // + this.btnImport.Image = global::Ogama.Properties.Resources.MagicWand; + this.btnImport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnImport.Name = "btnImport"; + this.btnImport.Size = new System.Drawing.Size(140, 24); + this.btnImport.Text = "Import Assistant"; + this.btnImport.ToolTipText = "Start import assistant to import eye- and/or mousetracker\r\ndata from ASCII files." + ""; - this.btnImport.Click += new System.EventHandler(this.btnImport_Click); - // - // btnImportOgamaFormat - // - this.btnImportOgamaFormat.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.btnImportOgamaFormat.Image = global::Ogama.Properties.Resources.ImportData; - this.btnImportOgamaFormat.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnImportOgamaFormat.Name = "btnImportOgamaFormat"; - this.btnImportOgamaFormat.Size = new System.Drawing.Size(23, 22); - this.btnImportOgamaFormat.ToolTipText = "Import data that was previously exported with OGAMA."; - this.btnImportOgamaFormat.Click += new System.EventHandler(this.btnImportOgamaFormat_Click); - // - // btnExport - // - this.btnExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.btnExport.Image = global::Ogama.Properties.Resources.ExportData; - this.btnExport.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnExport.Name = "btnExport"; - this.btnExport.Size = new System.Drawing.Size(23, 22); - this.btnExport.ToolTipText = "Export tables into ASCII-files."; - this.btnExport.Click += new System.EventHandler(this.btnExport_Click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); - // - // btnSave - // - this.btnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.btnSave.Image = global::Ogama.Properties.Resources.saveHS; - this.btnSave.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnSave.Name = "btnSave"; - this.btnSave.Size = new System.Drawing.Size(23, 22); - this.btnSave.Text = "Commit changes"; - this.btnSave.Click += new System.EventHandler(this.btnSave_Click); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25); - // - // btnFilterData - // - this.btnFilterData.Checked = true; - this.btnFilterData.CheckOnClick = true; - this.btnFilterData.CheckState = System.Windows.Forms.CheckState.Checked; - this.btnFilterData.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.btnFilterData.Image = global::Ogama.Properties.Resources.Filter2HS; - this.btnFilterData.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnFilterData.Name = "btnFilterData"; - this.btnFilterData.Size = new System.Drawing.Size(23, 22); - this.btnFilterData.Text = "Filter by subject and trial"; - this.btnFilterData.Click += new System.EventHandler(this.btnFilterData_Click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25); - // - // btnHelp - // - this.btnHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.btnHelp.Image = global::Ogama.Properties.Resources.HelpBmp; - this.btnHelp.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnHelp.Name = "btnHelp"; - this.btnHelp.Size = new System.Drawing.Size(23, 22); - this.btnHelp.ToolTipText = "Displays help for this interface."; - // - // btnSpecial - // - this.btnSpecial.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.btnSpecial.Image = ((System.Drawing.Image)(resources.GetObject("btnSpecial.Image"))); - this.btnSpecial.ImageTransparentColor = System.Drawing.Color.Magenta; - this.btnSpecial.Name = "btnSpecial"; - this.btnSpecial.Size = new System.Drawing.Size(23, 22); - this.btnSpecial.Text = "toolStripButton1"; - this.btnSpecial.ToolTipText = "Special Conversions"; - this.btnSpecial.Visible = false; - this.btnSpecial.Click += new System.EventHandler(this.btnSpecial_Click); - // - // sfdExport - // - this.sfdExport.DefaultExt = "*.txt"; - this.sfdExport.FileName = "*.txt"; - this.sfdExport.Filter = "Text files - *.txt|*.txt|comma separated values - *.csv|*.csv"; - this.sfdExport.Title = "Choose file to save raw data ..."; - // - // bgwExport - // - this.bgwExport.WorkerReportsProgress = true; - this.bgwExport.WorkerSupportsCancellation = true; - this.bgwExport.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwExport_DoWork); - this.bgwExport.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwExport_ProgressChanged); - this.bgwExport.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bgwExport_RunWorkerCompleted); - // - // DatabaseModule - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(664, 349); - this.Controls.Add(this.toolStripContainer1); - this.DataBindings.Add(new System.Windows.Forms.Binding("Location", global::Ogama.Properties.Settings.Default, "DatabaseModuleLocation", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Location = global::Ogama.Properties.Settings.Default.DatabaseModuleLocation; - this.Logo = global::Ogama.Properties.Resources.DatabaseLogo; - this.Name = "DatabaseModule"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Database Module"; - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DatabaseModule_FormClosing); - this.Load += new System.EventHandler(this.DatabaseModule_Load); - ((System.ComponentModel.ISupportInitialize)(this.bsoSubjects)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsTrials)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.ogamaDataSet)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoFKTrialsEvents)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsAOIs)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsGazeFixations)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsMouseFixations)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoShapeGroups)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsSubjectParameters)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoSubjectParameters)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrialEvents)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoTrials)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoGazeFixations)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoMouseFixations)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoAOIs)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.bsoParams)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvSubjects)).EndInit(); - this.cmsDataGridView.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvRawData)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.dgvTrials)).EndInit(); - this.toolStripContainer1.ContentPanel.ResumeLayout(false); - this.toolStripContainer1.TopToolStripPanel.ResumeLayout(false); - this.toolStripContainer1.TopToolStripPanel.PerformLayout(); - this.toolStripContainer1.ResumeLayout(false); - this.toolStripContainer1.PerformLayout(); - this.tacTables.ResumeLayout(false); - this.tbpSubjects.ResumeLayout(false); - this.tbpSubjectParameters.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvSubjectParameters)).EndInit(); - this.tbpParams.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvParams)).EndInit(); - this.tbpTrials.ResumeLayout(false); - this.tbpTrialEvents.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvTrialEvents)).EndInit(); - this.tbpRawdata.ResumeLayout(false); - this.tbpGazeFixations.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvGazeFixations)).EndInit(); - this.tbpMouseFixations.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvMouseFixations)).EndInit(); - this.tbpAOI.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvAOIs)).EndInit(); - this.tbpShapeGroups.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvShapeGroups)).EndInit(); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); - this.ResumeLayout(false); + this.btnImport.Click += new System.EventHandler(this.btnImport_Click); + // + // btnImportOgamaFormat + // + this.btnImportOgamaFormat.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnImportOgamaFormat.Image = global::Ogama.Properties.Resources.ImportData; + this.btnImportOgamaFormat.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnImportOgamaFormat.Name = "btnImportOgamaFormat"; + this.btnImportOgamaFormat.Size = new System.Drawing.Size(24, 24); + this.btnImportOgamaFormat.ToolTipText = "Import data that was previously exported with OGAMA."; + this.btnImportOgamaFormat.Click += new System.EventHandler(this.btnImportOgamaFormat_Click); + // + // btnExport + // + this.btnExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnExport.Image = global::Ogama.Properties.Resources.ExportData; + this.btnExport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnExport.Name = "btnExport"; + this.btnExport.Size = new System.Drawing.Size(24, 24); + this.btnExport.ToolTipText = "Export tables into ASCII-files."; + this.btnExport.Click += new System.EventHandler(this.btnExport_Click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(6, 27); + // + // btnSave + // + this.btnSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnSave.Image = global::Ogama.Properties.Resources.saveHS; + this.btnSave.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(24, 24); + this.btnSave.Text = "Commit changes"; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(6, 27); + // + // btnFilterData + // + this.btnFilterData.Checked = true; + this.btnFilterData.CheckOnClick = true; + this.btnFilterData.CheckState = System.Windows.Forms.CheckState.Checked; + this.btnFilterData.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnFilterData.Image = global::Ogama.Properties.Resources.Filter2HS; + this.btnFilterData.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnFilterData.Name = "btnFilterData"; + this.btnFilterData.Size = new System.Drawing.Size(24, 24); + this.btnFilterData.Text = "Filter by subject and trial"; + this.btnFilterData.Click += new System.EventHandler(this.btnFilterData_Click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(6, 27); + // + // btnHelp + // + this.btnHelp.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnHelp.Image = global::Ogama.Properties.Resources.HelpBmp; + this.btnHelp.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnHelp.Name = "btnHelp"; + this.btnHelp.Size = new System.Drawing.Size(24, 24); + this.btnHelp.ToolTipText = "Displays help for this interface."; + // + // btnSpecial + // + this.btnSpecial.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; + this.btnSpecial.Image = ((System.Drawing.Image)(resources.GetObject("btnSpecial.Image"))); + this.btnSpecial.ImageTransparentColor = System.Drawing.Color.Magenta; + this.btnSpecial.Name = "btnSpecial"; + this.btnSpecial.Size = new System.Drawing.Size(24, 24); + this.btnSpecial.Text = "toolStripButton1"; + this.btnSpecial.ToolTipText = "Special Conversions"; + this.btnSpecial.Visible = false; + this.btnSpecial.Click += new System.EventHandler(this.btnSpecial_Click); + // + // sfdExport + // + this.sfdExport.DefaultExt = "*.txt"; + this.sfdExport.FileName = "*.txt"; + this.sfdExport.Filter = "Text files - *.txt|*.txt|comma separated values - *.csv|*.csv"; + this.sfdExport.Title = "Choose file to save raw data ..."; + // + // bgwExport + // + this.bgwExport.WorkerReportsProgress = true; + this.bgwExport.WorkerSupportsCancellation = true; + this.bgwExport.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwExport_DoWork); + this.bgwExport.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.bgwExport_ProgressChanged); + this.bgwExport.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bgwExport_RunWorkerCompleted); + // + // uxImport + // + this.uxImport.Image = global::Ogama.Properties.Resources.Run; + this.uxImport.ImageTransparentColor = System.Drawing.Color.Magenta; + this.uxImport.Name = "uxImport"; + this.uxImport.Size = new System.Drawing.Size(93, 24); + this.uxImport.Text = "uxImport"; + this.uxImport.Click += new System.EventHandler(this.uxImport_Click); + // + // DatabaseModule + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(885, 430); + this.Controls.Add(this.toolStripContainer1); + this.DataBindings.Add(new System.Windows.Forms.Binding("Location", global::Ogama.Properties.Settings.Default, "DatabaseModuleLocation", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Location = global::Ogama.Properties.Settings.Default.DatabaseModuleLocation; + this.Logo = global::Ogama.Properties.Resources.DatabaseLogo; + this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.Name = "DatabaseModule"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Database Module"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.DatabaseModule_FormClosing); + this.Load += new System.EventHandler(this.DatabaseModule_Load); + ((System.ComponentModel.ISupportInitialize)(this.bsoSubjects)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsTrials)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.ogamaDataSet)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoFKTrialsEvents)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsAOIs)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsGazeFixations)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialsMouseFixations)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoShapeGroups)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoFKSubjectsSubjectParameters)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoSubjectParameters)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrialEvents)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoTrials)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoGazeFixations)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoMouseFixations)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoAOIs)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.bsoParams)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSubjects)).EndInit(); + this.cmsDataGridView.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvRawData)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvTrials)).EndInit(); + this.toolStripContainer1.ContentPanel.ResumeLayout(false); + this.toolStripContainer1.TopToolStripPanel.ResumeLayout(false); + this.toolStripContainer1.TopToolStripPanel.PerformLayout(); + this.toolStripContainer1.ResumeLayout(false); + this.toolStripContainer1.PerformLayout(); + this.tacTables.ResumeLayout(false); + this.tbpSubjects.ResumeLayout(false); + this.tbpSubjectParameters.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvSubjectParameters)).EndInit(); + this.tbpParams.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvParams)).EndInit(); + this.tbpTrials.ResumeLayout(false); + this.tbpTrialEvents.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvTrialEvents)).EndInit(); + this.tbpRawdata.ResumeLayout(false); + this.tbpGazeFixations.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvGazeFixations)).EndInit(); + this.tbpMouseFixations.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvMouseFixations)).EndInit(); + this.tbpAOI.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvAOIs)).EndInit(); + this.tbpShapeGroups.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvShapeGroups)).EndInit(); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.ResumeLayout(false); } @@ -1377,5 +1411,6 @@ private void InitializeComponent() private DataGridViewTextBoxColumn paramDataGridViewTextBoxColumn; private DataGridViewTextBoxColumn descriptionDataGridViewTextBoxColumn; private ToolStripButton btnImport; - } + private ToolStripButton uxImport; + } } \ No newline at end of file diff --git a/Ogama/Modules/Database/DatabaseModule.cs b/Ogama/Modules/Database/DatabaseModule.cs index 6b7233da..6ffa2236 100644 --- a/Ogama/Modules/Database/DatabaseModule.cs +++ b/Ogama/Modules/Database/DatabaseModule.cs @@ -27,6 +27,7 @@ namespace Ogama.Modules.Database using Ogama.Modules.Common.Tools; using Ogama.Modules.ImportExport.OgamaData; using Ogama.Modules.ImportExport.RawData; + using Ogama.Modules.ImportExport.UXI; /// /// Derived from . @@ -1852,6 +1853,12 @@ private void btnSpecial_Click(object sender, EventArgs e) //// } } - #endregion //HELPER - } + #endregion //HELPER + + private void uxImport_Click(object sender, EventArgs e) + { + UXImport.Start((MainForm)this.MdiParent); + ((MainForm)this.MdiParent).RefreshContextPanelSubjects(); + } + } } \ No newline at end of file diff --git a/Ogama/Modules/Database/DatabaseModule.resx b/Ogama/Modules/Database/DatabaseModule.resx index 9ec5baa3..ac852e84 100644 --- a/Ogama/Modules/Database/DatabaseModule.resx +++ b/Ogama/Modules/Database/DatabaseModule.resx @@ -118,255 +118,255 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 599, 56 + 17, 17 - 716, 56 + 1086, 60 - 319, 56 + 929, 60 - 451, 56 + 752, 60 - 345, 95 + 603, 60 - 470, 95 + 393, 60 - 17, 95 + 171, 60 - 201, 95 + 17, 103 - 246, 17 + 1085, 17 - 477, 17 + 877, 17 - 17, 17 + 17, 60 - 146, 17 + 760, 17 - 17, 56 + 586, 17 - 163, 56 + 399, 17 - 650, 17 + 286, 17 - 747, 17 + 155, 17 - 122, 134 + 548, 103 - 747, 95 + 311, 103 - 380, 134 + 854, 103 AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADo - JQAAAk1TRnQBSQFMAgEBCgEAASwBAAEsAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA - AwABMAMAAQEBAAEgBgABMGIAAwoBDQM2AVkDRwGCAVsCUwHDAWMCUgHeAVQCUgGsAwoBDQMKAQ3cAAMG - AQgBiwFsAWAB9QH/AcgByQH/AZUCbAHzAdQBrAGdAv8CxwH/AWMCUQHgAVsCUwHDAVsCVAHEAzIBUZAA - AbIBngGQAf8BigKBAf8BgQGAAXAB/wGBAXMBZwH/AYEBbgFgAf8BegFoAVoB/wMnAToEAAFaAlQBxQGx - AWQBgQH/AZEBSgFwAf8BiAFGAWsB/wGBAUIBYQH/AYEBOwFZAf8MAAMKAQ4BSgJJAYkBqgGLAX8B/gH/ - AsIC/wLAAv8CwAL/AsAB/wH+AcABvwH/Af0BvgG9Av8CwAH/AVICUQGpAwIBA4wAAb8BsAGnAf8BygHG - AcQB/wG3AbIBsAH/AZoBkgGKAf8BkAGGAYEB/wGBAXUBaAH/AycBOwQAAVsCVAHIAbsBgQGGAf8BpQFq - AYEB/wGdAVoBgAH/AZUBUgF0Af8BgQE+AV0B/wwAAawBiQF/Af4B/wG5AboB/wH4AbcBtQL/ArkC/wK5 - Av8BuQG6Av8BugG7Av8CuQL/ArkC/wK5Af8DQQFyAyQBNgMMARCIAAMYASIBXAJQAc0BxwHAAbwB/wGt - AagBoQH/AZ8BlgGRAf8BgQF4AWwB/wMnAToEAAFaAlQBxQG/AYEBkQH/AbACgQH/AaUBZwGBAf8BpwFh - AYEB/wGBAUEBYAH/CAADBAEGAc8BqwGYAv8BswG0Av8CsgL/ArIB/wHFAoAB+gMwAUwBWwFVAVMBwwHe - AasBngL/AbIBswL/ArIB/wGUAmUB9AH+ArAB/wNEAXuMAAFeAk8B1QHRAc8BywH/Ab0BugG2Af8BqAGh - AZsB/wGBAYABbgH/AycBOgQAAVoCVAHFAcMBhQGZAf8BuAGBAYoB/wGtAoEB/wGtAWUBgQH/AYMBRQFl - Af8LAAEBAzgBXAHPAaUBkwL/AqwB/wH+AqsB/wMUARwIAAMoATwBzQGnAZQC/wGsAa0C/wKsAv8CrAH/ - A0gBhAMAAQGIAAMTARoBXAJQAc0BxAG7AbYB/wG2AbEBrwH/AoEBdgH/AycBOgQAAVoCVAHFAcgBjwGd - Af8BvAGBAYoB/wGsAXgBgQH/AbcCgQH/AYcBTQFrAf8IAAFWAlMBswH/AqcC/wGlAaYC/wKlAf8BYAJR - AdQDBAEFDAABWgJUAcAB6wGiAZoC/wKlAf8BYQJRAdoDEAEWkAABXgJPAdUBzwHMAcsB/wHMAcoBywH/ - A4EB/wMnAToEAAFaAlQBxQHMAZcBpQH/Ab8BgQGPAf8BsQKBAf8BuQGBAYMB/wGDAU0BagH/CAABwAGe - AY8C/wKeAv8CngL/Ap4B/wFZAlQBvQMEAQUMAAMVAR0BzQGkAZEC/wKeAf8BtQJtAfgBXAJQAc0DEgEY - jAADEwEaAVwCUAHNAc4ByQHFAf8BhwKBAf8DJwE6BAABWgJUAcUB1AGqAbQB/wHEAYEBlgH/AbcBgQGC - Af8BtgGBAYIB/wGjAVYBgAH/CAABNQI0AVUBZQFVAVEB3AHoAZsBkwH/Af4CmAH/AWACUQHUAw0BEg8A - AQEBzwGrAZgC/wKYAf8B/gKYAf8B/gKYAf8DEgEYkAABXgJPAdUB2AHUAdMB/wGSAYcBgQH/AycBOgQA - AVoCVAHFAdYBrAG2Af8BxgGEAZkB/wG8AYEBhgH/AboBgQGCAf8BpQFWAYAB/wwAA0QBewHpAZcBkAH/ - AfcCkQH/AcUCZgH7Az4BawwAAxYBHgHUAaABkAH/AfcCkQH/AcgBhwGFAf0BYgJTAdeUAAMTARoBXAJQ - Ac0BkQGDAYEB/wMnAToEAAFaAlQBxQHMAYoBngH/Ac0BhQGZAf8BxQGBAY4B/wG0AoEB/wG9AWEBgQH/ - CAADHAEnAdEBnwGOAf8B8QKKAf8B8AKKAf8B8AKKAf8BYAJOAdYDNQFXAwUBBwMAAQEBXQJSAdMB7QGK - AYkB/wHwAooB/wFkAkkB4wM7AWSYAAFeAk8B1QGaAY0BggH/AyYBOQQAAVoCVAHFAdEBigGdAf8B0gGN - AZ8B/wHJAYEBkgH/AcEBgQGJAf8BxAFgAYEB/wwAAckBqwGZAf8B6QKCAf8B3QGSAYoB/wHqAYIBgwH/ - AekCgwH/AXQCSwHrAVQCUgGvAVwBUwFSAc8B5QGGAYMB/wHpAoMB/wHpAoMB/wHpAoMB/wFYAlMBuQMD - AQSUAAMTARoBbQEzATEB9wMuAUcEAAFeAk8B1QHUAZIBnwH/AdQBkgGfAf8B0wGPAZ0B/wHSAY4BnQH/ - AdIBiQGZAf8UAAGZAXsBbwH4AeMBeAF5Af8B4QJ6Af8B4QJ6Af8B4QJ6Af8B4gJ6Af8B4QJ6Af8B4gF4 - AXkB/wHRAZwBjQH/AeIBeQF6Af8DGgEl0AADCwEPAcsBoQGOAf8B2wFyAXMB/wHaAnQB/wHTAYEBeQH/ - AdoCcwH/AdoCdAH/AdoCcwH/AdoCcwH/AVQCUwGtAwUBB9gAAUYCRQF+AY0BZQFdAfQDMQFOAckBmAGH - Af8B0wFrAWwB/wGaAlwB+AHJAZUBhQH/AdMCbAH/AzsBZecAAQEBdAJTAecBfAFQAU4B7AMwAUsDIwE0 - AwABAf8AfQAB+AHuAeMB/xQAAbcBogGTAf8BgQFkAVAB/wGBAWQBUAH/AYEBZAFQAf8BgQFkAVAB/wGB - AWQBUAH/AYEBZAFQAf8BgQFkAVAB/wGBAWQBUAH/AYEBZAFQAf8BgQFkAVAB/wGBAWQBUAH/AYEBZAFQ - Af8BgQFkAVAB/wwANP8UAAHUAeMB6wH/AYABlAGnAf8B4QHmAekB/0wAAfgB7gHjAf8BmQFBAQ4B/wH4 - Ae4B4wH/EAABtwGiAZMF/wG3AaIBkwH/AbcBogGTAf8BtwGiAZMB/wG3AaIBkwH/AbcBogGSAf8BtwGd - AYwB/wG3AaIBkwH/AbcBogGTAf8BtwGiAZMB/wG3AaIBkwH/AbcBogGTAf8BgQFkAVAB/wwABP8DGwX/ - A+cB/wMbAf8D5wX/AxsF/wPnAf8DGwH/A+cF/xQAAaQBuQHAAf8BkAG9Ae8B/wE7AYIBrQH/Ad4B4wHn - Af9EAAH4Ae4B4wH/AbUBcQFDAf8B2AGbAWkB/wGZAUEBDgH/AfgB7gHjAf8MAAG3AaIBkwX/AcUBZQEr - Af8B/QGFAYEB/wHUAXkBRgH/AbYBbAE/Af8BogFjATgB/wGzAYEBUwH/AeQByAG6Af8B5gHRAcYB/wHm - AdMByQH/AeEBygG9Af8BtwGiAZMB/wGBAWQBUAH/DAAE/wMbBf8DGwX/AxsF/wMbBf8DGwX/AxsF/xQA - AdQB4wHrAf8BkgHGAfAB/wGCAYcB4QH/ATgBgQGfAf8B1QHdAeIB/zgAAZcCgQH/AZcCgQH/AdgBmwFp - Av8BzQGZAf8B6QG0AYEB/wHYAZsBaQH/AZkBQQEOAf8B+AHuAeMB/wgAAbcBogGTBf8B7gHMAbwB/wHK - AXQBPwH/Af0BqQGQAf8BywGBAVUB/wG0AXgBTAH/AdkBoAGGAf8B7gHiAdsB/wHtAeEB2gH/AeoB2QHQ - Af8B5AHPAcQB/wG3AaIBkwH/AYEBZAFQAf8MAAT/AxsF/wPnAf8DGwH/A+cF/wMbBf8D5wH/AxsB/wPn - Bf8YAAGfAb4BygH/AYEB0QH6Af8BggGHAeEB/wE6AYEBlQH/AdoB4QHlAf80AAGXAoEB/wQAAfgB7gHj - Af8B2AGbAWkC/wHNAZkB/wHpAbQBgQH/AdgBmwFpAf8BmQFBAQ4B/wH4Ae4B4wH/BAABtwGiAZMF/wL+ - Af0B/wHuAcwBvAH/AcsBeQFGAf8BzAGBAXMB/wHZAaEBhgH/AfoB9QHzAf8B+gH1AfMB/wHxAegB4gH/ - AewB3QHVAf8B6AHXAc0B/wG4AaMBlAH/AYEBZAFQAf8MADT/GAAB+AH6AfsB/wGQAbgBxgH/AYEB0QH6 - Af8BggGHAeEB/wE9AYEBjAH/Ac4B2AHeAf8wAAGXAoEB/wgAAfgB7gHjAf8B2AGbAWkC/wHNAZkB/wHJ - AYEBUQH/AfgB7gHjAf8IAAG6AaUBlgn/Av4B/QH/Ae4BzAG8Af8B5AGvAZQB/wH9AfoB+AH/AcUB1gHH - Af8BaQGBAWwB/wFKAW8BSwH/AW8BgQFxAf8ByAHTAb8B/wG5AaQBlQH/AYEBZAFQAf8MAAT/A+cB/wMb - Af8D5wX/AxsF/wPnAf8DGwH/A+cF/wMbBf8UAAGAAZcBrgH/AW4BgwGXAf8BYQKBAf8BdwGCAYwB/wGB - AdEB+gH/AYIBhwHhAf8BRAFqAYEB/wHXAeAB5QH/HAAB2AHuAfYB/wwAAZcCgQH/DAAB9wHeAeIB/wHY - AZsBaQH/AfgB7gHjAf8MAAG+AakBmhn/AXcBgwF5Af8BgQGoAYEB/wFlAZUBZgH/AVYBgQFVAf8BcwGB - AXMB/wG4AaMBlAH/AYEBZAFQAf8MAAT/AxsF/wMbBf8DGwX/AxsF/wMbBf8DGwX/FAABdAHIAecB/wGB - AeQC/wGBAeQC/wGUAcwB8gH/AZABvQHvAf8BgQGgAekB/wGCAYcB4QH/AUsBYgF5Af8B3wHlAekB/xQA - AdgB7gH2Af8BHAGBAZ4B/wHYAe4B9gH/CAABlwKBAf8IAAH9AewB/QH/AY0BOwGMAf8B9wHeAeIB/xAA - AcMBrgGeGf8BcQGOAXQB/wGBAckBggH/AXYBswF3Af8BYwGUAWYB/wFUAXgBVQH/AbgBowGUAf8BgQFk - AVAB/wwABP8D5wH/AxsB/wPnBf8DGwX/A+cB/wMbAf8D5wX/AxsF/xQAAdMB7wH2Af8BdAHIAecB/wHZ - AfIB/gH/AYEBwAH1Af8BggGHAeEB/wFhAYsBoAH/AdQB2gHbAf8D/QH/FAAB2AHuAfYB/wEcAYEBngH/ - ASoBtgHuAf8BHAGBAZ4B/wHYAe4B9gH/BAABlwKBAf8EAAH9AewB/QH/AbMBSgGyAf8B3AGBAdsB/wGN - ATsBjAH/Af0B7AH9Af8MAAHIAbIBowX/AS4BRgGcAf8BLQFFAZgB/wEkAToBgQH/ASQBOgGBBf8BhAG0 - AYgB/wGlAdkBqgH/AYEBywGBAf8BdwGnAXoB/wF1AYEBdQH/AbgBowGUAf8BgQFkAVAB/wwANP8YAAF0 - AcgB5wH/AbAB5AH8Af8BgQHRAfoB/wGBAbAB6gH/AYIBhwHhAf8BZQGBAYgB/wHiAeUB5gH/EAAB2AHu - AfYB/wEcAYEBngH/AV0BywHxAf8BQgHAAe8B/wE9Ab4B7wH/ARoBcAGBAf8BlwKBAf8BlwKBAf8BlwKB - Af8B2QF6AdgB/wH6Aa0B+gH/AfsBmAH6Af8B3AGBAdsB/wGNATsBjAH/Af0B7AH9Af8IAAHMAbYBpwX/ - ATwBUwG7Af8BOwFUAcEB/wEvAUgBogH/ASQBOgGBBf8B2QHqAdoB/wGSAcIBlQH/AYEBqQGBAf8BgQGj - AYEB/wHGAdABvAH/AbgBowGUAf8BgQFlAVEB/wwABP8DGwX/A+cB/wMbAf8D5wX/AxsF/wPnAf8DGwH/ - A+cF/xgAAd4B8wH4Af8BdAHIAecB/wHZAfIB/gH/AYEB0QH6Af8BgQGqAekB/wGCAYcB4QH/AWMCgQH/ - AeIB5QHmAf8MAAEiAaoB4QH/AYUB4QH1Af8BeQHXAfQB/wFeAcsB8QH/AUIBwAHwAf8BKwG1Ae4B/wEa - AXABgQH/AdgB7gH2Af8EAAH9AewB/QH/AdMBcwHSAf8B+gGtAfoB/wH7AZgB+gH/AdwBgQHbAf8BjQE7 - AYwB/wH9AewB/QH/BAAB0QG7AasF/wFeAXcB2AH/AUYBYQHgAf8BOgFSAbwB/wEoAT4BiRH/Af0B+wH6 - Af8B8wHsAeYB/wG5AaUBlgH/AYEBZQFRAf8MAAT/AxsF/wMbBf8DGwX/AxsF/wMbBf8DGwX/HAABdAHI - AecB/wGwAeQB/AH/AYEB5AL/AYkBwgHuAf8BgQGlAegB/wGCAYcB4QH/AWYBbgFzAf8B9gL3Af8IAAHY - Ae4B9gH/ASIBqgHhAf8BhgHhAfUB/wF6AdYB8wH/AV4BywHyAf8BQwHAAfAB/wEqAbUB7QH/ARoBcAGB - Af8B2AHuAfYB/wQAAf0B7AH9Af8B0wFzAdIB/wH6Aa0B+gH/AdMBcwHSAf8B/QHsAf0B/wgAAdUBvwGv - Bf8CgQHnAf8BXgF4Ad0B/wFAAVoBzQH/ATIBSgGlAf8C/gL/Av4C/wL+B/8C/gH/AfsB+AH2Af8B0AHC - AbkB/wGBAWUBUQH/DAAE/wMbBf8D5wH/AxsB/wPnBf8DGwX/A+cB/wMbAf8D5wX/HAAB4wH0AfkB/wGO - AcwB3QH/AYkB0AHnAf8BiQHPAeYB/wGCAcUB3QH/AYEBsgHIAf8BgQGXAawB/wGhAcEBzwH/DAAB2AHu - AfYB/wEiAaoB4QH/AYUB4AH1Af8BegHWAfMB/wFeAcsB8gH/AUIBwAHvAf8BKwG1Ae0B/wEaAXABgQH/ - AdgB7gH2Af8EAAH9AewB/QH/AdMBcwHSAf8B/QHsAf0B/wwAAdgBwgGyMf8BgQFlAVEB/wwANP9MAAHY - Ae4B9gH/ASIBqgHhAf8BhgHhAfQB/wF5AdYB9AH/AV4BywHxAf8BJQGYAcgB/wHYAe4B9gH/DAAB/QHs - Af0B/xAAAdgBwgGyAf8B1wHBAbEB/wHVAb8BrwH/AdMBvQGtAf8B0AG6AasB/wHNAbgBqAH/AcoBtQGl - Af8ByAGyAaMB/wHFAa8BoAH/AcIBrAGdAf8BvwGqAZoB/wG8AacBmAH/AboBpQGWAf8BuAGjAZQB/5AA - AdgB7gH2Af8BIgGqAeEB/wGFAeEB9QH/ASUBmAHIAf8B2AHuAfYB//AAAdgB7gH2Af8BIgGqAeEB/wHY - Ae4B9gH/+wABAQMYASIBTQJMAZEBXQJNAdIBYQJBAeEBXAJQAdEBUgJRAaEDPwFtAxgBIgMBAQJEAAG5 - AaMBlQH/AWcBTQE5Af8BZwFNATkB/wFnAU0BOQH/AWcBTQE5Af8BZwFNATkB/wFnAU0BOQH/AWcBTQE5 - Af8BZwFNATkB/wFnAU0BOQH/AWcBTQE5Af8BZwFNATkB/xwAAx4BKwNOAZgBXQI1Ae0DGwH/A4EB/wOd - Af8BZQI1Ae0DNQFWAzUBVgFXAlUBtwFXAlUBtwNOAZgDHAEoEwABAQMuAUcDtgH/A+AB/wPwAf8D9gH/ - A/IB/wPbAf8DsAH/AVkCVAG+Ay4BSAMBAQIEAAOBAf8BhAFgAUQB/wGEAWABRAH/AYQBYAFEAf8BgQFk - AUwB/wKBAXUB/wOBAf8gAAG6AaUBlgH/AfwB+gHvAf8B+gHyAeYB/wH2AekB2gH/AfIB3gHNAf8B7gHT - Ab8B/wHqAcgBsgH/AeYBvgGlAf8B4gG0AZoB/wHfAa0BkAH/Ad0BpwGJAf8BZwFNATkB/xgAAzABTAFc - Ah8B+AMbAf8DGwH/AxsB/wNuBf8DxgH/AxwB/wMbAf8DGwH/A58B/wHJAsgB/wFcAlAB0RAAAxUBHQPL - Af8D5gH/A+8B/wP5Ef8DzAH/AVkCVAG+AxoBJAQAAdYBaAE8Af8B7wF4AV0C/wGBAW0C/wGBAXUB/wHW - AYoBbQL/AYEBbQH/AecBdAFUAf8BgQFkAUwB/wE8AYEBPAH/ATMBgQEzAf8BMwGOATMB/wEzAY4BMwH/ - ATMBgQEzAf8BTAF0AVQB/wOBAf8BvAGmAZgD/wH2Af8BuAGlAZwB/wG2AaIBmAH/AfYB6AHaAf8BswGd - AZAB/wGyAZoBjQH/AbEBmAGLAf8BsQGYAYsB/wGxAZgBiwH/Ad8BrQGQAf8BZwFNATkB/xQAAxwBKAFc - Ah8B+AMbAf8DGwH/AxsB/wMbAf8DYwn/A1gB/wMbAf8DGwH/A3cF/wOGAf8QAAFkAkAB5wPeAf8D4AH/ - A+IB/wPoAf8D8gH/A/0J/wP9Af8DsAH/AzoBYQQAAecBdAFUAv8BgQF1Av8BhgGBAf8B1gGBAUwC/wHj - AbUB/wHnAYEBXQL/AYEBbQH/Aa0BgQFEAf8BdQHHAXUB/wGEAaoBgQH/AYEBywGBAf8BbQHDAW0B/wFU - AbYBVAH/ATMBlgEzAf8DgQH/Ab4BqAGZA/8B9gP/AfYB/wH9AfoB7wH/AfoB8gHlAf8B9gHoAdoB/wHy - Ad4BzQH/Ae4B0wHAAf8B6gHIAbIB/wHmAb4BpgH/AeMBtAGaAf8BZwFNATkB/xQAAVACTwGbAzAB/wMb - Af8DGwH/AxsB/wMnAf8Dzgn/A1wB/wMbAf8DGwH/A54F/wO9Af8PAAEBA9AB/wPsAf8D5AH/A+QB/wPj - Af8D4gH/A94B/wPfCf8DzQH/AUYCRQF+BAABzgF4AUQC/wKBAv8BkgGBAv8BzwGcAv8BzwGcAf8B1gGB - AV0C/wKBAf8BlAGBAUwB/wFUAZoBVAP/AfcB/wFUAZoBVAH/AYEB0wGBAf8BZQHDAWUB/wEzAYEBMwH/ - BAABwAGqAZwD/wH2Af8BtwGmAZwB/wG2AaMBmAH/Af0B+QHvAf8BswGcAZAB/wGyAZkBjQH/AbEBmAGL - Af8BsQGYAYsB/wGxAZgBiwH/AeYBvgGlAf8BZwFNATkB/xQAAVgCUwG5A5cB/wMbAf8DGwH/AxsB/wOB - Af8D/Qn/A1wB/wMbAf8DGwH/A8oF/wO3Af8MAAMDAQQD6gH/A/0B/wPpAf8D6QH/A+kB/wPmAf8D5AH/ - A+AB/wPmBf8D0wH/A0IBdAgAAbUBgQFlAf8BZQE7AWUB/wEbAScBgQH/ASsBJwGBAf8B1gF4AUwB/wGE - AYEBMwH/AYEB1wGBAf8BgQGqAYEC/wH3Ae8C/wHvAd4B/wGBAcsBgQH/AW0BugFtAf8IAAHDAa4BngP/ - AfYD/wH2A/8B9gP/AfYB/wH9AfkB7wH/AfoB8gHlAf8B9gHoAdkB/wHzAd4BzQH/Ae4B0wHAAf8B6gHI - AbIB/wFnAU0BOQH/EAABWQJUAb8BZQI1Ae0E/wOHAf8DWwH/A4EB/wP3Cf8D7AH/A1UB/wNiAf8DugH/ - A/oF/wO3Af8MAAEiAiEBMQP0Bf8D8gH/A+4B/wPtAf8D6wH/A+cB/wPkAf8D3QX/A8gB/wMuAUgEAAMr - Af8DIwH/ASMBQwGBAf8BKwFXAaUB/wErAVcBpQH/ARsBMwGBAf8EAAFlAZoBXQH/AUwBgQFtAf8BMwGC - Ac4B/wEzAYIBzgH/ARsCgQH/A4EB/wgAAcUBsAGgA/8B9gP/AfYD/wH2A/8B9gP/AfYB/wH9AfoB7wH/ - AcEBxAHFAf8BRQFgAXYB/wHyAd4BzQH/Ae4B0wHAAf8BZwFNATkB/wwAAwsBDwNOAf8D6R3/A7UB/wNI - Ef8DvQH/DAADNQFXA/gJ/wPzAf8D8QH/A+4B/wPrAf8D5gH/A+AF/wFpAjcB8gMSARkEAAErAS8BKwH/ - ASMBJwEjAf8BMwFwAb0B/wEzAXQBxgH/ATMBdAHGAf8BMwFwAb0B/wErAXQBpQH/BAABTAGaAv8BTAGa - Av8BTAGaAv8BTAGaAv8BRAF0AYEB/wgAAccBsQGiAf8B/gH9AfwB/wHiAukB/wFiAXkBhAH/Ad8C4wP/ - AfYB/wHCAcgByQH/AU4BZQF0Af8BMgGpAdYB/wEnATkBSwH/Aa8BowGZAf8BZwFNATkB/wgAA0EBcgFF - AYIBUAH/A3Uh/wNwAf8DkBH/A5oB/wwAAzUBVgP+Df8D9AH/A/EB/wPtAf8D6AH/A+MB/wPxAf8BRwJG - AYEDAQECATMBNwEzAf8BRAFDAUQB/wErAS8BKwH/ATwBgQHeAf8BRAGBAecB/wFEAYEB5wH/ATwBgQHW - Af8BRAFPAW0B/wErAYEBpQH/AV0BqgL/AV0BqgL/AV0BqgL/AV0BpgL/AUQBkgHnAf8DgQH/BAAByQGz - AaUB/wP+Af8BjwGkAawB/wGGAdMB5QH/AU8BZQF0Af8BrwG4Ab0B/wFOAWUBdAH/AWUBwQHeAf8BUAFl - AXMB/wEtAbYB6QH/ARkBKwE3Af8BFAEwAT4B/wEbAS0BOQH/AU0CTAGRAUEBeAFHAf8BTwGnAWUB/wNq - Af8D/Rn/A88B/wNEAf8D8g3/A+YB/wNFAf8MAAM1AVYDsxH/A/MB/wPuAf8D6gH/A+UB/wF7AlIB+gMU - ARsEAAEzATcBMwH/AVQBUwFUAf8BVAFXAVQB/wFEAY4B9wH/AUwBmgL/AUwBmgL/AUwBlgL/AUQBdAGB - Af8BKwGBAaUB/wFlAbIC/wFtAbYC/wFtAbYC/wFlAbIC/wFdAaoC/wOBAf8EAAHLAbUBpgH/A/4B/wHk - AuoB/wGPAaQBrAH/AYMB4QH2Af8BTwFlAXQB/wGBAc0B4gH/AVABZQFzAf8BaQHSAfIB/wFJAWEBdQH/ - ATYBsgHfAf8BIQGZAcgB/wEeAYgBswH/ASMBVwFxAf8BUwGEAVwB/wFQAawBaAH/A1YB/wPUAf8D/RH/ - A+oB/wNRAf8DbQH/A+YB/wPvAf8D8QH/A8YB/wNPAf8BXAJQAdEMAAMbASYE/wPoAf8DugH/AeEC4gH/ - AYwCbQH/Ae0C7gH/A/AB/wPfAf8DvwH/AzcBWgMAAQEIAAFUAVcBVAH/AWUBZAFlAf8DgQH/ATMBOwFE - Af8BIwE/AYwB/wEjAUMBgQH/BAABKwGBAaUB/wFtAboC/wFUAZ4B3gH/AW0BtgL/AW0BugL/AV0BqgHv - Af8DgQH/BAABzAG2AacB/wHMAbYBpwH/AcoBtQGmAf8BvQGwAaYB/wGPAaQBrAH/AYMB4QH2Af8BTwFl - AXQB/wGDAeEB9gH/AUABXQF3Af8BaQHSAfIB/wFUAckB7wH/AT8BvwHrAf8BKwGyAeQB/wEgAaMB1gH/ - AWgBlQFyAf8BVwG0AXAB/wM7Af8DlwH/A9gB/wPXAf8D8gH/A/MB/wPHAf8DgQH/AVwCUgHPAVwCUgHP - A4gB/wPOAf8DnwH/AVwCHwH4AVECUAGfAwQBBgcAAQEDCgENAwkBDAP0Cf8BrAKxAf8B1AJuAf8B0gLV - Af8D5AH/A+gB/wFbAlQBxAMFAQcQAAGBAXgBdQH/AYQBhgGEAf8BpQGmAaUB/wOBAf8DMwH/BAABKwGB - Ab0B/wFUAZYBxgH/AW0BqgHWAf8BlAHLAe8B/wGBAaoB1gH/ATMBgQGlAf8YAAMmATkBjwGkAawB/wGD - AeEB9gH/AUQBXwF2Af8BgwHhAfYB/wGAAdsB9AH/AWkB0gHyAf8BVAHJAe8B/wE/Ab8B6wH/AS0BtgHp - Af8BegGlAYMB/wFhAcABgQH/AVcCVQG3AWACOAHrA5cB/wPCAf8DtAH/A4EB/wFdAjUB7QNOAZgDAgED - AwIBAwNOAZgBVwJVAbcBVwJVAbcDLwFJCwABAQM1AVYBWwJTAcMBUAJPAZoBXgJPAdUD8gX/AeAC4QH/ - AZUCjAX/A+4B/wFhAkIB4gMKAQ0YAAFEAUMBRAH/AUQBQwFEAf8BRAFDAUQB/wwAASsBgQGlAf8BlAHL - AecB/wGUAcsB5wH/AW0BqgHWAf8gAAMmATkBjwGkAawB/wGDAeEB9gH/AYMB4QH2Af8BgwHhAfYB/wGA - AdsB9AH/AWkB0gHyAf8BYwGyAc8B/wGBAYsBlgH/Aa4BwQGmAf8BkwHTAZoB/wQAAzoBYQM0Af8DYgH/ - A0gB/wFgAk8B1AMoATwkAAEiAiEBMQO/Af8BXgJQBNAB/wFVAlMBrQExAjABTQFnAj4B6wOyAf8BbQJC - AfUBYQJKAdoBPwI+AWwDAwEEaAADJgE5AY8BpAGsAf8BjAGhAakB/wGIAZwBpQH/AYMBlgGgAf8BgQGQ - AZoB/wGBAYsBlgH/A0QBegGZAbgBnAH/Aa4BwQGmAf9AAAMiATIBZAJAAegBPQI8AWgDSgGNA98B/wGH - AlcB+QP7Af8BfQJWAfoDEAEV4AADRAF6AV0CTQHTAxwBKAMuAUcBXgJLAdgBRQJEAXwDBAEGIAABQgFN - AT4HAAE+AwABKAMAAUADAAEwAwABAQEAAQEFAAGAAQEWAAP/AQAC/wHwAQ8EAAL/AeABBwQAAYABgQHA - AQMEAAGAAYEBwAEBBAABgAGBAYABAQQAAcACgQGABAABwAKBAcEEAAHgAoEBwAQAAeACgQHABAAB8AGB - AsEEAAHwAYEBgAEBBAAB+AGBAcAFAAH4AYEB8AEBBAAC/wHgAQMEAAL/AfABBwQAAv8B/AEPBAAH/wHv - AYABAQHAAQEB8QL/AccBgAEBAcABAQHwAv8BgwGAAQEBwAEBAfABfwH+AQEBgAEBAcABAQH4AT8B/gKA - AQEBwAEBAfgBHwH+AcEBgAEBAcABAQHwAQ8B7gHjAYABAQHAAQEB8AEHAcYBxwGAAQEBwAEBAfABDwGC - AYMBgAEBAcABAQH4AQ8BAAEBAYABAQHAAQEB+AEHAQACgAEBAcABAQH8AQMBAAFBAYABAQHAAQEB/AED - AYABIwGAAQEBwAEBAv8BwAF3AYABAQT/AeAH/wHxB/8B+AEBAv8BAAEPAeABAAHwAQABgAH/AQABDwHA - AQAB8AEAAYACAAEPAYABAAHwAQABgAIAAQ8BgAEAAeABAAGAAQEBAAEPAYABAAHgAQABwAEDAQABDwIA - AeABAAGBAQMBAAEOAgAB4AEAAYABgwEAAQwCAAHgAgABAQQAAeABAQEAAQEEAAHgAQEBgQEBBAABgAED - AcEBAwHwAgABAwEAAQcB4wGHAfgBAAGBAf8BAAEPAv8B/AEAAv8BAAF/Bv8BgAH/Cw== + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg + JQAAAk1TRnQBSQFMAgEBCgEAATQBAAE0AQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + AwABMAMAAQEBAAEgBgABMGIAAwoBDQM2AVkDRwGCAVsCVgHDAWACVAHeAVQCUwGsAwoBDQMKAQ3cAAMG + AQgBiAFrAV0B9QH/AcgByQH/AZECawHzAdQBrAGdAv8CxwH/AWICUwHgAVsCVgHDAVsCVwHEAzIBUZAA + AbIBngGQAf8BigKBAf8BgQGAAW8B/wGBAXIBZgH/AYEBbQFfAf8BeQFnAVkB/wMnAToEAAFaAlYBxQGx + AWMBgQH/AZEBSQFvAf8BiAFFAWoB/wGBAUEBYAH/AYEBOgFYAf8MAAMKAQ4BSgJJAYkBpwGIAX8B/gH/ + AsIC/wLAAv8CwAL/AsAB/wH+AcABvwH/Af0BvgG9Av8CwAH/A1IBqQMCAQOMAAG/AbABpwH/AcoBxgHE + Af8BtwGyAbAB/wGaAZIBigH/AZABhgGBAf8BgQF0AWcB/wMnATsEAAFbAlcByAG7AYEBhgH/AaUBaQGB + Af8BnQFZAYAB/wGVAVEBcwH/AYEBPQFcAf8MAAGpAYYBfwH+Af8BuQG6Af8B+AG3AbUC/wK5Av8CuQL/ + AbkBugL/AboBuwL/ArkC/wK5Av8CuQH/A0EBcgMkATYDDAEQiAADGAEiAVwCVAHNAccBwAG8Af8BrQGo + AaEB/wGfAZYBkQH/AYEBdwFrAf8DJwE6BAABWgJWAcUBvwGBAZEB/wGwAoEB/wGlAWYBgQH/AacBYAGB + Af8BgQFAAV8B/wgAAwQBBgHPAasBmAL/AbMBtAL/ArIC/wKyAf8BvwJ+AfoDMAFMAVsCVgHDAd4BqwGe + Av8BsgGzAv8CsgH/AZACZQH0Af4CsAH/A0QBe4wAAV4CVAHVAdEBzwHLAf8BvQG6AbYB/wGoAaEBmwH/ + AYEBgAFtAf8DJwE6BAABWgJWAcUBwwGFAZkB/wG4AYEBigH/Aa0CgQH/Aa0BZAGBAf8BgwFEAWQB/wsA + AQEDOAFcAc8BpQGTAv8CrAH/Af4CqwH/AxQBHAgAAygBPAHNAacBlAL/AawBrQL/AqwC/wKsAf8DSAGE + AwABAYgAAxMBGgFcAlQBzQHEAbsBtgH/AbYBsQGvAf8CgQF1Af8DJwE6BAABWgJWAcUByAGPAZ0B/wG8 + AYEBigH/AawBdwGBAf8BtwKBAf8BhwFMAWoB/wgAAVYCVAGzAf8CpwL/AaUBpgL/AqUB/wFgAlUB1AME + AQUMAAFaAlUBwAHrAaIBmgL/AqUB/wFhAlQB2gMQARaQAAFeAlQB1QHPAcwBywH/AcwBygHLAf8DgQH/ + AycBOgQAAVoCVgHFAcwBlwGlAf8BvwGBAY8B/wGxAoEB/wG5AYEBgwH/AYMBTAFpAf8IAAHAAZ4BjwL/ + Ap4C/wKeAv8CngH/AVkCVgG9AwQBBQwAAxUBHQHNAaQBkQL/Ap4B/wGvAmoB+AFcAlQBzQMSARiMAAMT + ARoBXAJUAc0BzgHJAcUB/wGHAoEB/wMnAToEAAFaAlYBxQHUAaoBtAH/AcQBgQGWAf8BtwGBAYIB/wG2 + AYEBggH/AaMBVQGAAf8IAAE1AjQBVQFhAVYBVQHcAegBmwGTAf8B/gKYAf8BYAJVAdQDDQESDwABAQHP + AasBmAL/ApgB/wH+ApgB/wH+ApgB/wMSARiQAAFeAlQB1QHYAdQB0wH/AZIBhwGBAf8DJwE6BAABWgJW + AcUB1gGsAbYB/wHGAYQBmQH/AbwBgQGGAf8BugGBAYIB/wGlAVUBgAH/DAADRAF7AekBlwGQAf8B9wKR + Af8BwgJjAfsDPgFrDAADFgEeAdQBoAGQAf8B9wKRAf8BxAGHAYUB/QFhAlYB15QAAxMBGgFcAlQBzQGR + AYMBgQH/AycBOgQAAVoCVgHFAcwBigGeAf8BzQGFAZkB/wHFAYEBjgH/AbQCgQH/Ab0BYAGBAf8IAAMc + AScB0QGfAY4B/wHxAooB/wHwAooB/wHwAooB/wFgAlIB1gM1AVcDBQEHAwABAQFdAlUB0wHtAYoBiQH/ + AfACigH/AWECTgHjAzsBZJgAAV4CVAHVAZoBjQGCAf8DJgE5BAABWgJWAcUB0QGKAZ0B/wHSAY0BnwH/ + AckBgQGSAf8BwQGBAYkB/wHEAV8BgQH/DAAByQGrAZkB/wHpAoIB/wHdAZIBigH/AeoBggGDAf8B6QKD + Af8BcQJNAesBVAJTAa8BXAJWAc8B5QGGAYMB/wHpAoMB/wHpAoMB/wHpAoMB/wFYAlQBuQMDAQSUAAMT + ARoBbQE0ATMB9wMuAUcEAAFeAlQB1QHUAZIBnwH/AdQBkgGfAf8B0wGPAZ0B/wHSAY4BnQH/AdIBiQGZ + Af8UAAGXAXoBbgH4AeMBdwF4Af8B4QJ5Af8B4QJ5Af8B4QJ5Af8B4gJ5Af8B4QJ5Af8B4gF3AXgB/wHR + AZwBjQH/AeIBeAF5Af8DGgEl0AADCwEPAcsBoQGOAf8B2wFxAXIB/wHaAnMB/wHTAYEBeAH/AdoCcgH/ + AdoCcwH/AdoCcgH/AdoCcgH/AVQCUwGtAwUBB9gAAUYCRQF+AYoBZQFdAfQDMQFOAckBmAGHAf8B0wFq + AWsB/wGYAlwB+AHJAZUBhQH/AdMCawH/AzsBZecAAQEBbgJTAecBeQFRAU8B7AMwAUsDIwE0AwABAf8A + fQAB+AHuAeMB/xQAAbcBogGTAf8BgQFjAU8B/wGBAWMBTwH/AYEBYwFPAf8BgQFjAU8B/wGBAWMBTwH/ + AYEBYwFPAf8BgQFjAU8B/wGBAWMBTwH/AYEBYwFPAf8BgQFjAU8B/wGBAWMBTwH/AYEBYwFPAf8BgQFj + AU8B/wwANP8UAAHUAeMB6wH/AYABlAGnAf8B4QHmAekB/0wAAfgB7gHjAf8BmQFAAQ0B/wH4Ae4B4wH/ + EAABtwGiAZMF/wG3AaIBkwH/AbcBogGTAf8BtwGiAZMB/wG3AaIBkwH/AbcBogGSAf8BtwGdAYwB/wG3 + AaIBkwH/AbcBogGTAf8BtwGiAZMB/wG3AaIBkwH/AbcBogGTAf8BgQFjAU8B/wwABP8DGgX/A+cB/wMa + Af8D5wX/AxoF/wPnAf8DGgH/A+cF/xQAAaQBuQHAAf8BkAG9Ae8B/wE6AYIBrQH/Ad4B4wHnAf9EAAH4 + Ae4B4wH/AbUBcAFCAf8B2AGbAWgB/wGZAUABDQH/AfgB7gHjAf8MAAG3AaIBkwX/AcUBZAEqAf8B/QGF + AYEB/wHUAXgBRQH/AbYBawE+Af8BogFiATcB/wGzAYEBUgH/AeQByAG6Af8B5gHRAcYB/wHmAdMByQH/ + AeEBygG9Af8BtwGiAZMB/wGBAWMBTwH/DAAE/wMaBf8DGgX/AxoF/wMaBf8DGgX/AxoF/xQAAdQB4wHr + Af8BkgHGAfAB/wGCAYcB4QH/ATcBgQGfAf8B1QHdAeIB/zgAAZcCgQH/AZcCgQH/AdgBmwFoAv8BzQGZ + Af8B6QG0AYEB/wHYAZsBaAH/AZkBQAENAf8B+AHuAeMB/wgAAbcBogGTBf8B7gHMAbwB/wHKAXMBPgH/ + Af0BqQGQAf8BywGBAVQB/wG0AXcBSwH/AdkBoAGGAf8B7gHiAdsB/wHtAeEB2gH/AeoB2QHQAf8B5AHP + AcQB/wG3AaIBkwH/AYEBYwFPAf8MAAT/AxoF/wPnAf8DGgH/A+cF/wMaBf8D5wH/AxoB/wPnBf8YAAGf + Ab4BygH/AYEB0QH6Af8BggGHAeEB/wE5AYEBlQH/AdoB4QHlAf80AAGXAoEB/wQAAfgB7gHjAf8B2AGb + AWgC/wHNAZkB/wHpAbQBgQH/AdgBmwFoAf8BmQFAAQ0B/wH4Ae4B4wH/BAABtwGiAZMF/wL+Af0B/wHu + AcwBvAH/AcsBeAFFAf8BzAGBAXIB/wHZAaEBhgH/AfoB9QHzAf8B+gH1AfMB/wHxAegB4gH/AewB3QHV + Af8B6AHXAc0B/wG4AaMBlAH/AYEBYwFPAf8MADT/GAAB+AH6AfsB/wGQAbgBxgH/AYEB0QH6Af8BggGH + AeEB/wE8AYEBjAH/Ac4B2AHeAf8wAAGXAoEB/wgAAfgB7gHjAf8B2AGbAWgC/wHNAZkB/wHJAYEBUAH/ + AfgB7gHjAf8IAAG6AaUBlgn/Av4B/QH/Ae4BzAG8Af8B5AGvAZQB/wH9AfoB+AH/AcUB1gHHAf8BaAGB + AWsB/wFJAW4BSgH/AW4BgQFwAf8ByAHTAb8B/wG5AaQBlQH/AYEBYwFPAf8MAAT/A+cB/wMaAf8D5wX/ + AxoF/wPnAf8DGgH/A+cF/wMaBf8UAAGAAZcBrgH/AW0BgwGXAf8BYAKBAf8BdgGCAYwB/wGBAdEB+gH/ + AYIBhwHhAf8BQwFpAYEB/wHXAeAB5QH/HAAB2AHuAfYB/wwAAZcCgQH/DAAB9wHeAeIB/wHYAZsBaAH/ + AfgB7gHjAf8MAAG+AakBmhn/AXYBgwF4Af8BgQGoAYEB/wFkAZUBZQH/AVUBgQFUAf8BcgGBAXIB/wG4 + AaMBlAH/AYEBYwFPAf8MAAT/AxoF/wMaBf8DGgX/AxoF/wMaBf8DGgX/FAABcwHIAecB/wGBAeQC/wGB + AeQC/wGUAcwB8gH/AZABvQHvAf8BgQGgAekB/wGCAYcB4QH/AUoBYQF4Af8B3wHlAekB/xQAAdgB7gH2 + Af8BGwGBAZ4B/wHYAe4B9gH/CAABlwKBAf8IAAH9AewB/QH/AY0BOgGMAf8B9wHeAeIB/xAAAcMBrgGe + Gf8BcAGOAXMB/wGBAckBggH/AXUBswF2Af8BYgGUAWUB/wFTAXcBVAH/AbgBowGUAf8BgQFjAU8B/wwA + BP8D5wH/AxoB/wPnBf8DGgX/A+cB/wMaAf8D5wX/AxoF/xQAAdMB7wH2Af8BcwHIAecB/wHZAfIB/gH/ + AYEBwAH1Af8BggGHAeEB/wFgAYsBoAH/AdQB2gHbAf8D/QH/FAAB2AHuAfYB/wEbAYEBngH/ASkBtgHu + Af8BGwGBAZ4B/wHYAe4B9gH/BAABlwKBAf8EAAH9AewB/QH/AbMBSQGyAf8B3AGBAdsB/wGNAToBjAH/ + Af0B7AH9Af8MAAHIAbIBowX/AS0BRQGcAf8BLAFEAZgB/wEjATkBgQH/ASMBOQGBBf8BhAG0AYgB/wGl + AdkBqgH/AYEBywGBAf8BdgGnAXkB/wF0AYEBdAH/AbgBowGUAf8BgQFjAU8B/wwANP8YAAFzAcgB5wH/ + AbAB5AH8Af8BgQHRAfoB/wGBAbAB6gH/AYIBhwHhAf8BZAGBAYgB/wHiAeUB5gH/EAAB2AHuAfYB/wEb + AYEBngH/AVwBywHxAf8BQQHAAe8B/wE8Ab4B7wH/ARkBbwGBAf8BlwKBAf8BlwKBAf8BlwKBAf8B2QF5 + AdgB/wH6Aa0B+gH/AfsBmAH6Af8B3AGBAdsB/wGNAToBjAH/Af0B7AH9Af8IAAHMAbYBpwX/ATsBUgG7 + Af8BOgFTAcEB/wEuAUcBogH/ASMBOQGBBf8B2QHqAdoB/wGSAcIBlQH/AYEBqQGBAf8BgQGjAYEB/wHG + AdABvAH/AbgBowGUAf8BgQFkAVAB/wwABP8DGgX/A+cB/wMaAf8D5wX/AxoF/wPnAf8DGgH/A+cF/xgA + Ad4B8wH4Af8BcwHIAecB/wHZAfIB/gH/AYEB0QH6Af8BgQGqAekB/wGCAYcB4QH/AWICgQH/AeIB5QHm + Af8MAAEhAaoB4QH/AYUB4QH1Af8BeAHXAfQB/wFdAcsB8QH/AUEBwAHwAf8BKgG1Ae4B/wEZAW8BgQH/ + AdgB7gH2Af8EAAH9AewB/QH/AdMBcgHSAf8B+gGtAfoB/wH7AZgB+gH/AdwBgQHbAf8BjQE6AYwB/wH9 + AewB/QH/BAAB0QG7AasF/wFdAXYB2AH/AUUBYAHgAf8BOQFRAbwB/wEnAT0BiRH/Af0B+wH6Af8B8wHs + AeYB/wG5AaUBlgH/AYEBZAFQAf8MAAT/AxoF/wMaBf8DGgX/AxoF/wMaBf8DGgX/HAABcwHIAecB/wGw + AeQB/AH/AYEB5AL/AYkBwgHuAf8BgQGlAegB/wGCAYcB4QH/AWUBbQFyAf8B9gL3Af8IAAHYAe4B9gH/ + ASEBqgHhAf8BhgHhAfUB/wF5AdYB8wH/AV0BywHyAf8BQgHAAfAB/wEpAbUB7QH/ARkBbwGBAf8B2AHu + AfYB/wQAAf0B7AH9Af8B0wFyAdIB/wH6Aa0B+gH/AdMBcgHSAf8B/QHsAf0B/wgAAdUBvwGvBf8CgQHn + Af8BXQF3Ad0B/wE/AVkBzQH/ATEBSQGlAf8C/gL/Av4C/wL+B/8C/gH/AfsB+AH2Af8B0AHCAbkB/wGB + AWQBUAH/DAAE/wMaBf8D5wH/AxoB/wPnBf8DGgX/A+cB/wMaAf8D5wX/HAAB4wH0AfkB/wGOAcwB3QH/ + AYkB0AHnAf8BiQHPAeYB/wGCAcUB3QH/AYEBsgHIAf8BgQGXAawB/wGhAcEBzwH/DAAB2AHuAfYB/wEh + AaoB4QH/AYUB4AH1Af8BeQHWAfMB/wFdAcsB8gH/AUEBwAHvAf8BKgG1Ae0B/wEZAW8BgQH/AdgB7gH2 + Af8EAAH9AewB/QH/AdMBcgHSAf8B/QHsAf0B/wwAAdgBwgGyMf8BgQFkAVAB/wwANP9MAAHYAe4B9gH/ + ASEBqgHhAf8BhgHhAfQB/wF4AdYB9AH/AV0BywHxAf8BJAGYAcgB/wHYAe4B9gH/DAAB/QHsAf0B/xAA + AdgBwgGyAf8B1wHBAbEB/wHVAb8BrwH/AdMBvQGtAf8B0AG6AasB/wHNAbgBqAH/AcoBtQGlAf8ByAGy + AaMB/wHFAa8BoAH/AcIBrAGdAf8BvwGqAZoB/wG8AacBmAH/AboBpQGWAf8BuAGjAZQB/5AAAdgB7gH2 + Af8BIQGqAeEB/wGFAeEB9QH/ASQBmAHIAf8B2AHuAfYB//AAAdgB7gH2Af8BIQGqAeEB/wHYAe4B9gH/ + +wABAQMYASIBTQJMAZEBXQJSAdIBYQJHAeEBXAJUAdEBUgJRAaEDPwFtAxgBIgMBAQJEAAG5AaMBlQH/ + AWYBTAE4Af8BZgFMATgB/wFmAUwBOAH/AWYBTAE4Af8BZgFMATgB/wFmAUwBOAH/AWYBTAE4Af8BZgFM + ATgB/wFmAUwBOAH/AWYBTAE4Af8BZgFMATgB/xwAAx4BKwNOAZgBXQI5Ae0DGgH/A4EB/wOdAf8BZAI5 + Ae0DNQFWAzUBVgFXAlUBtwFXAlUBtwNOAZgDHAEoEwABAQMuAUcDtgH/A+AB/wPwAf8D9gH/A/IB/wPb + Af8DsAH/AVkCVgG+Ay4BSAMBAQIEAAOBAf8BhAFfAUMB/wGEAV8BQwH/AYQBXwFDAf8BgQFjAUsB/wKB + AXQB/wOBAf8gAAG6AaUBlgH/AfwB+gHvAf8B+gHyAeYB/wH2AekB2gH/AfIB3gHNAf8B7gHTAb8B/wHq + AcgBsgH/AeYBvgGlAf8B4gG0AZoB/wHfAa0BkAH/Ad0BpwGJAf8BZgFMATgB/xgAAzABTAFcAiAB+AMa + Af8DGgH/AxoB/wNtBf8DxgH/AxsB/wMaAf8DGgH/A58B/wHJAsgB/wFcAlQB0RAAAxUBHQPLAf8D5gH/ + A+8B/wP5Ef8DzAH/AVkCVgG+AxoBJAQAAdYBZwE7Af8B7wF3AVwC/wGBAWwC/wGBAXQB/wHWAYoBbAL/ + AYEBbAH/AecBcwFTAf8BgQFjAUsB/wE7AYEBOwH/ATIBgQEyAf8BMgGOATIB/wEyAY4BMgH/ATIBgQEy + Af8BSwFzAVMB/wOBAf8BvAGmAZgD/wH2Af8BuAGlAZwB/wG2AaIBmAH/AfYB6AHaAf8BswGdAZAB/wGy + AZoBjQH/AbEBmAGLAf8BsQGYAYsB/wGxAZgBiwH/Ad8BrQGQAf8BZgFMATgB/xQAAxwBKAFcAiAB+AMa + Af8DGgH/AxoB/wMaAf8DYgn/A1cB/wMaAf8DGgH/A3YF/wOGAf8QAAFkAkYB5wPeAf8D4AH/A+IB/wPo + Af8D8gH/A/0J/wP9Af8DsAH/AzoBYQQAAecBcwFTAv8BgQF0Av8BhgGBAf8B1gGBAUsC/wHjAbUB/wHn + AYEBXAL/AYEBbAH/Aa0BgQFDAf8BdAHHAXQB/wGEAaoBgQH/AYEBywGBAf8BbAHDAWwB/wFTAbYBUwH/ + ATIBlgEyAf8DgQH/Ab4BqAGZA/8B9gP/AfYB/wH9AfoB7wH/AfoB8gHlAf8B9gHoAdoB/wHyAd4BzQH/ + Ae4B0wHAAf8B6gHIAbIB/wHmAb4BpgH/AeMBtAGaAf8BZgFMATgB/xQAAVACTwGbAy8B/wMaAf8DGgH/ + AxoB/wMmAf8Dzgn/A1sB/wMaAf8DGgH/A54F/wO9Af8PAAEBA9AB/wPsAf8D5AH/A+QB/wPjAf8D4gH/ + A94B/wPfCf8DzQH/AUYCRQF+BAABzgF3AUMC/wKBAv8BkgGBAv8BzwGcAv8BzwGcAf8B1gGBAVwC/wKB + Af8BlAGBAUsB/wFTAZoBUwP/AfcB/wFTAZoBUwH/AYEB0wGBAf8BZAHDAWQB/wEyAYEBMgH/BAABwAGq + AZwD/wH2Af8BtwGmAZwB/wG2AaMBmAH/Af0B+QHvAf8BswGcAZAB/wGyAZkBjQH/AbEBmAGLAf8BsQGY + AYsB/wGxAZgBiwH/AeYBvgGlAf8BZgFMATgB/xQAAVgCVAG5A5cB/wMaAf8DGgH/AxoB/wOBAf8D/Qn/ + A1sB/wMaAf8DGgH/A8oF/wO3Af8MAAMDAQQD6gH/A/0B/wPpAf8D6QH/A+kB/wPmAf8D5AH/A+AB/wPm + Bf8D0wH/A0IBdAgAAbUBgQFkAf8BZAE6AWQB/wEaASYBgQH/ASoBJgGBAf8B1gF3AUsB/wGEAYEBMgH/ + AYEB1wGBAf8BgQGqAYEC/wH3Ae8C/wHvAd4B/wGBAcsBgQH/AWwBugFsAf8IAAHDAa4BngP/AfYD/wH2 + A/8B9gP/AfYB/wH9AfkB7wH/AfoB8gHlAf8B9gHoAdkB/wHzAd4BzQH/Ae4B0wHAAf8B6gHIAbIB/wFm + AUwBOAH/EAABWQJWAb8BZAI5Ae0E/wOHAf8DWgH/A4EB/wP3Cf8D7AH/A1QB/wNhAf8DugH/A/oF/wO3 + Af8MAAEiAiEBMQP0Bf8D8gH/A+4B/wPtAf8D6wH/A+cB/wPkAf8D3QX/A8gB/wMuAUgEAAMqAf8DIgH/ + ASIBQgGBAf8BKgFWAaUB/wEqAVYBpQH/ARoBMgGBAf8EAAFkAZoBXAH/AUsBgQFsAf8BMgGCAc4B/wEy + AYIBzgH/ARoCgQH/A4EB/wgAAcUBsAGgA/8B9gP/AfYD/wH2A/8B9gP/AfYB/wH9AfoB7wH/AcEBxAHF + Af8BRAFfAXUB/wHyAd4BzQH/Ae4B0wHAAf8BZgFMATgB/wwAAwsBDwNNAf8D6R3/A7UB/wNHEf8DvQH/ + DAADNQFXA/gJ/wPzAf8D8QH/A+4B/wPrAf8D5gH/A+AF/wFoAjkB8gMSARkEAAEqAS4BKgH/ASIBJgEi + Af8BMgFvAb0B/wEyAXMBxgH/ATIBcwHGAf8BMgFvAb0B/wEqAXMBpQH/BAABSwGaAv8BSwGaAv8BSwGa + Av8BSwGaAv8BQwFzAYEB/wgAAccBsQGiAf8B/gH9AfwB/wHiAukB/wFhAXgBhAH/Ad8C4wP/AfYB/wHC + AcgByQH/AU0BZAFzAf8BMQGpAdYB/wEmATgBSgH/Aa8BowGZAf8BZgFMATgB/wgAA0EBcgFEAYIBTwH/ + A3Qh/wNvAf8DkBH/A5oB/wwAAzUBVgP+Df8D9AH/A/EB/wPtAf8D6AH/A+MB/wPxAf8BRwJGAYEDAQEC + ATIBNgEyAf8BQwFCAUMB/wEqAS4BKgH/ATsBgQHeAf8BQwGBAecB/wFDAYEB5wH/ATsBgQHWAf8BQwFO + AWwB/wEqAYEBpQH/AVwBqgL/AVwBqgL/AVwBqgL/AVwBpgL/AUMBkgHnAf8DgQH/BAAByQGzAaUB/wP+ + Af8BjwGkAawB/wGGAdMB5QH/AU4BZAFzAf8BrwG4Ab0B/wFNAWQBcwH/AWQBwQHeAf8BTwFkAXIB/wEs + AbYB6QH/ARgBKgE2Af8BEwEvAT0B/wEaASwBOAH/AU0CTAGRAUABdwFGAf8BTgGnAWQB/wNpAf8D/Rn/ + A88B/wNDAf8D8g3/A+YB/wNEAf8MAAM1AVYDsxH/A/MB/wPuAf8D6gH/A+UB/wF6AlAB+gMUARsEAAEy + ATYBMgH/AVMBUgFTAf8BUwFWAVMB/wFDAY4B9wH/AUsBmgL/AUsBmgL/AUsBlgL/AUMBcwGBAf8BKgGB + AaUB/wFkAbIC/wFsAbYC/wFsAbYC/wFkAbIC/wFcAaoC/wOBAf8EAAHLAbUBpgH/A/4B/wHkAuoB/wGP + AaQBrAH/AYMB4QH2Af8BTgFkAXMB/wGBAc0B4gH/AU8BZAFyAf8BaAHSAfIB/wFIAWABdAH/ATUBsgHf + Af8BIAGZAcgB/wEdAYgBswH/ASIBVgFwAf8BUgGEAVsB/wFPAawBZwH/A1UB/wPUAf8D/RH/A+oB/wNQ + Af8DbAH/A+YB/wPvAf8D8QH/A8YB/wNOAf8BXAJUAdEMAAMbASYE/wPoAf8DugH/AeEC4gH/AYwCbAH/ + Ae0C7gH/A/AB/wPfAf8DvwH/AzcBWgMAAQEIAAFTAVYBUwH/AWQBYwFkAf8DgQH/ATIBOgFDAf8BIgE+ + AYwB/wEiAUIBgQH/BAABKgGBAaUB/wFsAboC/wFTAZ4B3gH/AWwBtgL/AWwBugL/AVwBqgHvAf8DgQH/ + BAABzAG2AacB/wHMAbYBpwH/AcoBtQGmAf8BvQGwAaYB/wGPAaQBrAH/AYMB4QH2Af8BTgFkAXMB/wGD + AeEB9gH/AT8BXAF2Af8BaAHSAfIB/wFTAckB7wH/AT4BvwHrAf8BKgGyAeQB/wEfAaMB1gH/AWcBlQFx + Af8BVgG0AW8B/wM6Af8DlwH/A9gB/wPXAf8D8gH/A/MB/wPHAf8DgQH/AVwCVgHPAVwCVgHPA4gB/wPO + Af8DnwH/AVwCIAH4AVECUAGfAwQBBgcAAQEDCgENAwkBDAP0Cf8BrAKxAf8B1AJtAf8B0gLVAf8D5AH/ + A+gB/wFbAlcBxAMFAQcQAAGBAXcBdAH/AYQBhgGEAf8BpQGmAaUB/wOBAf8DMgH/BAABKgGBAb0B/wFT + AZYBxgH/AWwBqgHWAf8BlAHLAe8B/wGBAaoB1gH/ATIBgQGlAf8YAAMmATkBjwGkAawB/wGDAeEB9gH/ + AUMBXgF1Af8BgwHhAfYB/wGAAdsB9AH/AWgB0gHyAf8BUwHJAe8B/wE+Ab8B6wH/ASwBtgHpAf8BeQGl + AYMB/wFgAcABgQH/AVcCVQG3AWACPwHrA5cB/wPCAf8DtAH/A4EB/wFdAjkB7QNOAZgDAgEDAwIBAwNO + AZgBVwJVAbcBVwJVAbcDLwFJCwABAQM1AVYBWwJWAcMDUAGaAV4CVAHVA/IF/wHgAuEB/wGVAowF/wPu + Af8BYQJIAeIDCgENGAABQwFCAUMB/wFDAUIBQwH/AUMBQgFDAf8MAAEqAYEBpQH/AZQBywHnAf8BlAHL + AecB/wFsAaoB1gH/IAADJgE5AY8BpAGsAf8BgwHhAfYB/wGDAeEB9gH/AYMB4QH2Af8BgAHbAfQB/wFo + AdIB8gH/AWIBsgHPAf8BgQGLAZYB/wGuAcEBpgH/AZMB0wGaAf8EAAM6AWEDMwH/A2EB/wNHAf8BYAJU + AdQDKAE8JAABIgIhATEDvwH/AV4CUwTQAf8BVQJTAa0BMQIwAU0BZgJCAesDsgH/AWwCQgH1AWECTwHa + AT8CPgFsAwMBBGgAAyYBOQGPAaQBrAH/AYwBoQGpAf8BiAGcAaUB/wGDAZYBoAH/AYEBkAGaAf8BgQGL + AZYB/wNEAXoBmQG4AZwB/wGuAcEBpgH/QAADIgEyAWMCQwHoAT0CPAFoA0oBjQPfAf8BhgJXAfkD+wH/ + AXwCUwH6AxABFeAAA0QBegFdAlIB0wMcASgDLgFHAV4CUQHYAUUCRAF8AwQBBiAAAUIBTQE+BwABPgMA + ASgDAAFAAwABMAMAAQEBAAEBBQABgAEBFgAD/wEAAv8B8AEPBAAC/wHgAQcEAAGAAYEBwAEDBAABgAGB + AcABAQQAAYABgQGAAQEEAAHAAoEBgAQAAcACgQHBBAAB4AKBAcAEAAHgAoEBwAQAAfABgQLBBAAB8AGB + AYABAQQAAfgBgQHABQAB+AGBAfABAQQAAv8B4AEDBAAC/wHwAQcEAAL/AfwBDwQAB/8B7wGAAQEBwAEB + AfEC/wHHAYABAQHAAQEB8AL/AYMBgAEBAcABAQHwAX8B/gEBAYABAQHAAQEB+AE/Af4CgAEBAcABAQH4 + AR8B/gHBAYABAQHAAQEB8AEPAe4B4wGAAQEBwAEBAfABBwHGAccBgAEBAcABAQHwAQ8BggGDAYABAQHA + AQEB+AEPAQABAQGAAQEBwAEBAfgBBwEAAoABAQHAAQEB/AEDAQABQQGAAQEBwAEBAfwBAwGAASMBgAEB + AcABAQL/AcABdwGAAQEE/wHgB/8B8Qf/AfgBAQL/AQABDwHgAQAB8AEAAYAB/wEAAQ8BwAEAAfABAAGA + AgABDwGAAQAB8AEAAYACAAEPAYABAAHgAQABgAEBAQABDwGAAQAB4AEAAcABAwEAAQ8CAAHgAQABgQED + AQABDgIAAeABAAGAAYMBAAEMAgAB4AIAAQEEAAHgAQEBAAEBBAAB4AEBAYEBAQQAAYABAwHBAQMB8AIA + AQMBAAEHAeMBhwH4AQABgQH/AQABDwL/AfwBAAL/AQABfwb/AYAB/ws= - 17, 134 + 424, 103 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIISURBVDhPpZP7S1NxGMbPPxKaXVUkMEq8IpKUCoY/hGgI - ymqkDYYXcCjDZOANURSjCNGFQUTsl4GXVMxKk62YU4fXQpaIlygHQxBRH8/zwvyaIAYe+HLgnPN8nue9 - HA3nvDTq63oW/jm13XOwvPTB3DYFY5MH+bXfcN8ygfTSMSSXfESicQDxBqdYHwH29g9w2tnZ3UcguIvN - rR3417exuBJE5N1n/wfwLgXEOc38Bc6xNRHb+/y4nm49G0Bnit2zf9H6bkliE/jKuYxrd6oVgDWfjB+K - TWeKMyrGEVfowITvD9re/9ABVQrAhh0HHK+ZselMMaN/mvwtDb+aVqkA7HYIwIj3ysfluPTorJnP6Ezx - oHsD1s5ZXEktUwCOioB5f1CEPR9+wTG6iuiserTo8dkwng7HT/R+XUPF8xlcTjErAOdMcW6NW8STiwG8 - 7vej8oUPN/PsEv3t8Ao0TZP3T1u8uJRkUgAuSYHtO97oLxmXd5t9Ho8aPTK+GzntqNfrLm2fFoihwYOI - xGIF4KjoGBLzY1OrF9k6OOFxnwDC4wxIMX1G0pMhgVyMNyoA13PAtS7OrJk1PrC69LUdQWxuF6IybHrX - LRI7JrtZdoDAo1XmbjMyD+tjSXxGcXRmnYg5ttD9QuxDhN0uUgDOmbvNTpPOJaGAo2K36cyaGZvOFIfd - KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== - 644, 95 + 190, 103 - 270, 134 + 725, 103 118 diff --git a/Ogama/Modules/ImportExport/RawData/ImportRawData.cs b/Ogama/Modules/ImportExport/RawData/ImportRawData.cs index 29edd4d7..92583449 100644 --- a/Ogama/Modules/ImportExport/RawData/ImportRawData.cs +++ b/Ogama/Modules/ImportExport/RawData/ImportRawData.cs @@ -50,28 +50,28 @@ public class ImportRawData /// /// List to fill with imported and filtered /// - private static readonly List RawDataList; + protected static readonly List RawDataList; /// /// List to fill with generated /// - private static readonly List SubjectList; + protected static readonly List SubjectList; /// /// List to fill with generated or imported /// - private static readonly List TrialList; + protected static readonly List TrialList; /// /// Saves the ASCII file import specialized settings /// during this import session. /// - private static ASCIISettings asciiSetting; + protected static ASCIISettings asciiSetting; /// /// Saves the specialized settings used during this import session. /// - private static DetectionSettings detectionSetting; + protected static DetectionSettings detectionSetting; #endregion diff --git a/Ogama/Modules/ImportExport/UXI/ProgressForm.Designer.cs b/Ogama/Modules/ImportExport/UXI/ProgressForm.Designer.cs new file mode 100644 index 00000000..b8b6bfbd --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/ProgressForm.Designer.cs @@ -0,0 +1,117 @@ +using System.Threading; + +namespace Ogama.Modules.ImportExport.UXI +{ + partial class ProgressForm + { + /// + /// 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.progressBar1 = new System.Windows.Forms.ProgressBar(); + this.button1 = new System.Windows.Forms.Button(); + this.progressCount = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // progressBar1 + // + this.progressBar1.Dock = System.Windows.Forms.DockStyle.Fill; + this.progressBar1.Location = new System.Drawing.Point(0, 0); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(591, 61); + this.progressBar1.TabIndex = 0; + this.progressBar1.UseWaitCursor = true; + // + // button1 + // + this.button1.Dock = System.Windows.Forms.DockStyle.Bottom; + this.button1.Location = new System.Drawing.Point(0, 38); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(591, 23); + this.button1.TabIndex = 1; + this.button1.Text = "Stop"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // progressCount + // + this.progressCount.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.progressCount.AutoSize = true; + this.progressCount.Location = new System.Drawing.Point(272, 9); + this.progressCount.Name = "progressCount"; + this.progressCount.Size = new System.Drawing.Size(36, 17); + this.progressCount.TabIndex = 2; + this.progressCount.Text = "0 / 0"; + this.progressCount.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // ProgressForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(591, 61); + this.Controls.Add(this.progressCount); + this.Controls.Add(this.button1); + this.Controls.Add(this.progressBar1); + this.MaximizeBox = false; + this.Name = "ProgressForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Importing"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ProgressBar progressBar1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label progressCount; + private CancellationTokenSource task; + + public void setTask(CancellationTokenSource t) + { + task = t; + } + + public void setMaximum(int value) + { + progressBar1.Maximum = value; + updateProgress(); + } + + public void setProgress(int value) + { + progressBar1.Value = value; + updateProgress(); + } + + private void updateProgress() + { + progressCount.Text = progressBar1.Value + " / " + progressBar1.Maximum; + } + } +} \ No newline at end of file diff --git a/Ogama/Modules/ImportExport/UXI/ProgressForm.cs b/Ogama/Modules/ImportExport/UXI/ProgressForm.cs new file mode 100644 index 00000000..2fe6c396 --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/ProgressForm.cs @@ -0,0 +1,26 @@ +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; + +namespace Ogama.Modules.ImportExport.UXI +{ + public partial class ProgressForm : Form + { + public ProgressForm() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + task.Cancel(); + this.Text = "Cancelling..."; + } + } +} diff --git a/Ogama/Modules/ImportExport/UXI/ProgressForm.resx b/Ogama/Modules/ImportExport/UXI/ProgressForm.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/ProgressForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/Ogama/Modules/ImportExport/UXI/UXISettings.cs b/Ogama/Modules/ImportExport/UXI/UXISettings.cs new file mode 100644 index 00000000..c656dcfc --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/UXISettings.cs @@ -0,0 +1,744 @@ +// +// ****************************************************** +// OGAMA - open gaze and mouse analyzer +// Copyright (C) 2015 Dr. Adrian Voßkühler +// ------------------------------------------------------------------------ +// This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. +// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +// You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// ************************************************************** +// +// Martin Civan +// martin.civan5@gmail.com + +namespace Ogama.Modules.ImportExport.UXI +{ + using Ogama.ExceptionHandling; + using Ogama.Modules.Common.Tools; + using Ogama.Modules.Common.Types; + using Ogama.Modules.ImportExport.Common; + using System; + using System.Collections.Generic; + using System.ComponentModel; + using System.IO; + using System.Web.Script.Serialization; + using System.Windows.Forms; + using System.Xml.Serialization; + + /// + /// This class encapsulates fields and methods need for parsing + /// ASCII files. It is used in each of the other import classes. + /// + [Serializable] + public class UXISettings + { + /////////////////////////////////////////////////////////////////////////////// + // Defining Constants // + /////////////////////////////////////////////////////////////////////////////// + #region CONSTANTS + private const string SETTINGS_FILE = "settings"; + private const string ETSTATES_FILE = "ET_states"; + private const string SCSTATES_FILE = "SC_states"; + private const string ETDATA_FILE = "ET_data"; + private const string MEDATA_FILE = "ME_data"; + private const string KBDATA_FILE = "KB_data"; + private const string SCDATA_FILE = "SC_data"; + #endregion //CONSTANTS + + /////////////////////////////////////////////////////////////////////////////// + // Defining Variables, Enumerations, Events // + /////////////////////////////////////////////////////////////////////////////// + #region FIELDS + + /// + /// An for ASCII files. + /// + private OpenFileDialog fileDialog; + + /// + /// An to show a splash screen + /// during import. + /// + private BackgroundWorker bgwLoad; + + /// + /// File name string of import file. + /// + private string folder; + + /// + /// Saves the imported files rows. + /// + private List rows; + + /// + /// Saves the import files column headers. + /// + private List columnHeaders; + + /// + /// Dictionary that saves the selected column assignments + /// of the import file and the programs database + /// + private XMLSerializableDictionary columnAssignments; + + /// + /// Flag. True, if import should ignore lines, + /// with less columns, than first data row. + /// e.g. #MSG lines in iVievX format. + /// + private bool ignoreSmallLines; + + /// + /// Flag. True, if import should ignore lines, + /// that don´t start with a numeral + /// + private bool ignoreNotNumeralLines; + + /// + /// Import column separator character. + /// + private char columnSeparatorCharacter; + + /// + /// Import decimal separator character. + /// + private char decimalSeparatorCharacter; + + /// + /// Flag. Ignore lines commented with character + /// + private bool ignoreQuotes; + + /// + /// Quotion character for ignored lines + /// + private string ignoreQuotationString; + + /// + /// Flag. Use only lines commented with string + /// + private bool useQuotes; + + /// + /// Quotion character for used lines + /// + private string useQuotationString; + + /// + /// Flag. Ignore lines that contain . + /// + private bool ignoreTriggerStringLines; + + /// + /// Trigger string. + /// + private string ignoreTriggerString; + + /// + /// Flag. True, if column titles are in the first data row. + /// + private bool columnTitlesAtFirstRow; + + /// + /// Saves the time value of the very first raw data value. + /// + private long startTime; + + private string preferredEye; + + #endregion //FIELDS + + /////////////////////////////////////////////////////////////////////////////// + // Construction and Initializing methods // + /////////////////////////////////////////////////////////////////////////////// + #region CONSTRUCTION + + /// + /// Initializes a new instance of the ASCIISettings class. + /// + public UXISettings(string preferredEye = "Average") + { + // Init OpenFileDialog + this.preferredEye = preferredEye; + this.fileDialog = new System.Windows.Forms.OpenFileDialog(); + this.fileDialog.DefaultExt = "txt"; + this.fileDialog.FileName = "*.txt;*.asc;*.csv"; + this.fileDialog.FilterIndex = 1; + this.fileDialog.Filter = "Known text files|*.txt;*.asc;*.csv|txt files (*.txt)|*.txt|ASCII files (*.asc)|*.asc|Comma separated-values (*.csv)|*.csv|All files (*.*)|*.*"; + this.fileDialog.Title = "Please select the raw data ASCII file with the gaze and/or mouse samples."; + + // Init background worker splash + this.bgwLoad = new System.ComponentModel.BackgroundWorker(); + this.bgwLoad.WorkerSupportsCancellation = true; + this.bgwLoad.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgwLoad_DoWork); + + // Init fields. + this.rows = new List(); + this.columnHeaders = new List(); + this.folder = string.Empty; + this.columnSeparatorCharacter = '\t'; + this.decimalSeparatorCharacter = '.'; + this.ignoreQuotes = true; + this.ignoreSmallLines = false; + this.ignoreNotNumeralLines = false; + this.ignoreQuotationString = "#"; + this.ignoreTriggerStringLines = true; + this.ignoreTriggerString = "Keyboard"; + this.columnTitlesAtFirstRow = true; + this.columnAssignments = new XMLSerializableDictionary(); + this.useQuotes = false; + this.useQuotationString = "EFIX"; + this.startTime = 0; + } + + #endregion //CONSTRUCTION + + /////////////////////////////////////////////////////////////////////////////// + // Defining Properties // + /////////////////////////////////////////////////////////////////////////////// + #region PROPERTIES + + /// + /// Gets an for ASCII files. + /// + /// A for opening ASCII files. + [XmlIgnore] + public OpenFileDialog FileDialog + { + get { return this.fileDialog; } + } + + /// + /// Gets a to show a splash screen + /// during import. + /// + /// A for showing a splash screen. + [XmlIgnore] + public BackgroundWorker WaitingSplash + { + get { return this.bgwLoad; } + } + + /// + /// Gets or sets the list to fill with the file rows. + /// + /// A list of string arrays with the readed rows, separated in columns. + [XmlIgnore] + public List Rows + { + get { return this.rows; } + set { this.rows = value; } + } + + /// + /// Gets or sets the list to fill with the files column headers. + /// + /// A with the column headers of the file. + public List ColumnHeaders + { + get { return this.columnHeaders; } + set { this.columnHeaders = value; } + } + + /// + /// Gets or sets the file name string of the file to import. + /// + /// A with the import files name. + public string Folder + { + get { return this.folder; } + set { this.folder = value; } + } + + /// + /// Gets or sets the + /// that saves the selected column assignments + /// of the import file and the programs database + /// + /// A + /// with the assignment of the ogama and file columns. + public XMLSerializableDictionary ColumnAssignments + { + get { return this.columnAssignments; } + set { this.columnAssignments = value; } + } + + /// + /// Gets or sets a value indicating whether the import should ignore lines, + /// with less columns, than first data row. + /// e.g. #MSG lines in iVievX format. + /// + /// A that is true, + /// if import should ignore lines, with less columns, than in first data row, + /// otherwise false. + public bool IgnoreSmallLines + { + get { return this.ignoreSmallLines; } + set { this.ignoreSmallLines = value; } + } + + /// + /// Gets or sets a value indicating whether + /// import should ignore lines, + /// that don´t start with a numeral + /// + /// A that is true, + /// if import should ignore lines, hat don´t start with a numeral, + /// otherwise false. + public bool IgnoreNotNumeralLines + { + get { return this.ignoreNotNumeralLines; } + set { this.ignoreNotNumeralLines = value; } + } + + /// + /// Gets or sets the import column separator character. + /// + /// A with the column separator. + public char ColumnSeparatorCharacter + { + get { return this.columnSeparatorCharacter; } + set { this.columnSeparatorCharacter = value; } + } + + /// + /// Gets or sets the import decimal separator character. + /// + /// A with the decimal separator. + public char DecimalSeparatorCharacter + { + get { return this.decimalSeparatorCharacter; } + set { this.decimalSeparatorCharacter = value; } + } + + /// + /// Gets or sets a value indicating whether + /// lines commented with character should be ignored. + /// + /// A that is true, + /// if import should ignore lines, commented with character , + /// otherwise false. + public bool IgnoreQuotes + { + get { return this.ignoreQuotes; } + set { this.ignoreQuotes = value; } + } + + /// + /// Gets or sets the quotion character. + /// + /// A with the quotation string. + public string IgnoreQuotationString + { + get { return this.ignoreQuotationString; } + set { this.ignoreQuotationString = value; } + } + + /// + /// Gets or sets a value indicating whether + /// only lines commented with string + /// should be used during import. + /// + /// A that is true, + /// if import should only use lines, commented with character , + /// otherwise false. + public bool UseQuotes + { + get { return this.useQuotes; } + set { this.useQuotes = value; } + } + + /// + /// Gets or sets the quotion character for used lines. + /// + /// A with the quotation string. + public string UseQuotationString + { + get { return this.useQuotationString; } + set { this.useQuotationString = value; } + } + + /// + /// Gets or sets a value indicating whether + /// lines that contain + /// should be ignored. + /// + /// A that is true, + /// if import should ignore lines containing , + /// otherwise false. + public bool IgnoreTriggerStringLines + { + get { return this.ignoreTriggerStringLines; } + set { this.ignoreTriggerStringLines = value; } + } + + /// + /// Gets or sets the trigger string for ignored lines. + /// + /// A with the trigger string, + /// that indicates lines that should be ignored during import. + public string IgnoreTriggerString + { + get { return this.ignoreTriggerString; } + set { this.ignoreTriggerString = value; } + } + + /// + /// Gets or sets a value indicating whether + /// column titles are in the first data row that is read. + /// + /// A that is true, + /// if column titles are in the first data row, + /// otherwise false. + public bool ColumnTitlesAtFirstRow + { + get { return this.columnTitlesAtFirstRow; } + set { this.columnTitlesAtFirstRow = value; } + } + + /// + /// Gets or sets the time value of the very first raw data value. + /// + /// An with the starting time of the experiment. + public long StartTime + { + get { return this.startTime; } + set { this.startTime = value; } + } + + public string PreferredEye + { + get { return preferredEye; } + set { preferredEye = value; } + } + + public bool ImportMouseMovement { get; set; } + public bool ImportMouseEvents { get; set; } + public bool ImportKeyboardEvets { get; set; } + + #endregion //PROPERTIES + + /////////////////////////////////////////////////////////////////////////////// + // Public methods // + /////////////////////////////////////////////////////////////////////////////// + #region PUBLICMETHODS + + /// + /// This method parses the given file under the conditions specified + /// in this and returns the values as a collection + /// of arrays. + /// + /// The file to parse. + /// An + /// with the max number of lines to import. + /// Set it to -1 to use all lines. + /// ref. A list of s + /// that represent the import file column headers. + /// A list of arrays with the separated items of + /// the file, that are read using the current + /// Thrown, when + /// the file to import does not exist. + public List ParseFile( + string importFile, + int numberOfImportLines, + ref List columnHeaders) + { + // Check import file. + if (!File.Exists(importFile)) + { + throw new FileNotFoundException("The import file could not be found"); + } + + // Create return list. + List fileRows = new List(); + + // Check out parameter. + if (columnHeaders == null) + { + columnHeaders = new List(); + } + else + { + columnHeaders.Clear(); + } + + string line = string.Empty; + int counter = 0; + int columncount = 0; + + // Begin reading File + try + { + using (StreamReader importReader = new StreamReader(importFile)) + { + // Read ImportFile + while ((line = importReader.ReadLine()) != null) + { + // ignore empty lines + if (line.Trim() == string.Empty) + { + continue; + } + + // Ignore Quotes if applicable + if (this.IgnoreQuotes && + line.Trim().Substring(0, this.IgnoreQuotationString.Length) == + this.IgnoreQuotationString) + { + continue; + } + + // Ignore lines that do not have the "use only" quotation + // string + if (this.UseQuotes && !line.Contains(this.UseQuotationString)) + { + continue; + } + + // ignore lines with ignore trigger + if (this.IgnoreTriggerStringLines && line.Contains(this.IgnoreTriggerString)) + { + continue; + } + + // Split Tab separated line items + string[] items = line.Split(this.ColumnSeparatorCharacter); + + // Skip first line if filled with column titles + if (this.ColumnTitlesAtFirstRow && counter == 0) + { + counter++; + columncount = items.Length; + + // Fill column header list + for (int i = 0; i < columncount; i++) + { + string headerText = items[i].Replace(' ', '-'); + columnHeaders.Add(headerText); + } + continue; + } + + // Use only numeric starting lines if applicable + if (this.IgnoreNotNumeralLines && !IOHelpers.IsNumeric(line[0])) + { + continue; + } + + // Set columncount in first valid line + if (counter == 0) + { + columncount = items.Length; + } + + // Skip small lines if applicable + if (this.IgnoreSmallLines && columncount > items.Length) + { + continue; + } + + if (counter == 0 && !this.ColumnTitlesAtFirstRow) + { + // Fill column header list + for (int i = 0; i < items.Length; i++) + { + string headerText = "Column" + i; + columnHeaders.Add(headerText); + } + } + + // Add row to import list + fileRows.Add(items); + + // Increase counter + counter++; + + // Cancel import, if only a part for preview should be imported. + if (counter > numberOfImportLines && numberOfImportLines >= 0) + { + break; + } + } + } + } + catch (Exception ex) + { + ExceptionMethods.HandleException(ex); + } + + return fileRows; + } + + public dynamic GetSettings() + { + return new JavaScriptSerializer().Deserialize(new StreamReader(folder + "\\" + SETTINGS_FILE + ".json").ReadToEnd()); + } + + public dynamic GetScreenCaptureStates() + { + return new JavaScriptSerializer().Deserialize(new StreamReader(folder + "\\" + SCSTATES_FILE + ".json").ReadToEnd()); + } + + public dynamic GetEyeTrackerStates() + { + return new JavaScriptSerializer().Deserialize(new StreamReader(folder + "\\" + ETSTATES_FILE + ".json").ReadToEnd()); + } + + public string GetETDataPath() + { + return folder + "\\" + ETDATA_FILE + ".json"; + } + + public string GetMEDataPath() + { + return folder + "\\" + MEDATA_FILE + ".json"; + } + + public string GetScreenVideoAVIPath() + { + return folder + "\\" + SCDATA_FILE + ".avi"; + } + + public string GetScreenVideoMP4Path() + { + return folder + "\\" + SCDATA_FILE + ".mp4"; + } + + public string GetKBDataPath() + { + return folder + "\\" + KBDATA_FILE + ".json"; + } + + #endregion //PUBLICMETHODS + + /////////////////////////////////////////////////////////////////////////////// + // Eventhandler // + /////////////////////////////////////////////////////////////////////////////// + #region EVENTS + + /////////////////////////////////////////////////////////////////////////////// + // Eventhandler for UI, Menu, Buttons, Toolbars etc. // + /////////////////////////////////////////////////////////////////////////////// + #region WINDOWSEVENTHANDLER + + /// + /// The event handler of the + /// . + /// + /// Source of the event. + /// A with the event data. + private void bgwLoad_DoWork(object sender, DoWorkEventArgs e) + { + // Get the BackgroundWorker that raised this event. + BackgroundWorker worker = sender as BackgroundWorker; + + ImportDataSplash newSplash = new ImportDataSplash(); + newSplash.Worker = worker; + newSplash.ShowDialog(); + } + + #endregion //WINDOWSEVENTHANDLER + + /////////////////////////////////////////////////////////////////////////////// + // Eventhandler for Custom Defined Events // + /////////////////////////////////////////////////////////////////////////////// + #region CUSTOMEVENTHANDLER + #endregion //CUSTOMEVENTHANDLER + + #endregion //EVENTS + + /////////////////////////////////////////////////////////////////////////////// + // Methods and Eventhandling for Background tasks // + /////////////////////////////////////////////////////////////////////////////// + #region BACKGROUNDWORKER + #endregion //BACKGROUNDWORKER + + /////////////////////////////////////////////////////////////////////////////// + // Inherited methods // + /////////////////////////////////////////////////////////////////////////////// + #region OVERRIDES + #endregion //OVERRIDES + + /////////////////////////////////////////////////////////////////////////////// + // Methods for doing main class job // + /////////////////////////////////////////////////////////////////////////////// + #region METHODS + + /// + /// Saves the current import setting to a OGAMA import settings file. + /// Extension ".ois" + /// + /// A with the path to the + /// OGAMA target import settings xml file. + /// True if successful, + /// otherwise false. + private bool Serialize(string filePath) + { + try + { + using (TextWriter writer = new StreamWriter(filePath)) + { + XmlSerializer serializer = new XmlSerializer(typeof(UXISettings)); + serializer.Serialize(writer, this); + } + } + catch (Exception ex) + { + ExceptionMethods.HandleException(ex); + + return false; + } + + return true; + } + + /// + /// Reads an OGAMA import settings file. + /// + /// A with the path to the + /// OGAMA import settings xml file. + /// True if successful, + /// otherwise null. + private UXISettings Deserialize(string filePath) + { + try + { + UXISettings settings = new UXISettings(); + + using (FileStream fs = new FileStream(filePath, FileMode.Open)) + { + // Create an instance of the XmlSerializer class; + // specify the type of object to be deserialized + XmlSerializer serializer = new XmlSerializer(typeof(UXISettings)); + + //////* If the XML document has been altered with unknown + //////nodes or attributes, handle them with the + //////UnknownNode and UnknownAttribute events.*/ + ////serializer.UnknownNode += new XmlNodeEventHandler(serializer_UnknownNode); + ////serializer.UnknownAttribute += new XmlAttributeEventHandler(serializer_UnknownAttribute); + + /* Use the Deserialize method to restore the object's state with + data from the XML document. */ + settings = (UXISettings)serializer.Deserialize(fs); + } + + return settings; + } + catch (Exception ex) + { + ExceptionMethods.HandleException(ex); + } + + return null; + } + + #endregion //METHODS + + /////////////////////////////////////////////////////////////////////////////// + // Small helping Methods // + /////////////////////////////////////////////////////////////////////////////// + #region HELPER + #endregion //HELPER + } +} \ No newline at end of file diff --git a/Ogama/Modules/ImportExport/UXI/UXImport.cs b/Ogama/Modules/ImportExport/UXI/UXImport.cs new file mode 100644 index 00000000..57c38756 --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/UXImport.cs @@ -0,0 +1,1112 @@ +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading; +using System.Threading.Tasks; +using FFmpeg.NET; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Ogama.DataSet; + +namespace Ogama.Modules.ImportExport.UXI +{ + using Ogama.ExceptionHandling; + using Ogama.MainWindow; + using Ogama.Modules.Common.SlideCollections; + using Ogama.Modules.Common.Tools; + using Ogama.Modules.Common.Types; + using Ogama.Modules.Fixations; + using Ogama.Modules.ImportExport.Common; + using System; + using System.Collections.Generic; + using System.Data; + using System.Drawing; + using System.Globalization; + using System.IO; + using System.Windows.Forms; + using System.Xml.Serialization; + using System.Web.Script.Serialization; + using VectorGraphics.Elements; + using VectorGraphics.Elements.ElementCollections; + using VectorGraphics.StopConditions; + + class UXImport + { + // -------------------------------------------------------------------------------------------------------------------- + // + // OGAMA - open gaze and mouse analyzer + // Copyright (C) 2015 Dr. Adrian Voßkühler + // Licensed under GPL V3 + // + // Martin Civan + // martin.civan5@gmail.com + // + // Class for importing UXI data through multiple dialogs. + // + // -------------------------------------------------------------------------------------------------------------------- + /////////////////////////////////////////////////////////////////////////////// + // Defining Constants // + /////////////////////////////////////////////////////////////////////////////// + + + private const string BOTH = "Both"; + private const string RIGHT = "Right"; + private const string LEFT = "Left"; + private const string BUTTON_UP = "ButtonUp"; + private const string BUTTON_DOWN = "ButtonDown"; + private const string KEY_UP = "KeyUp"; + private const string KEY_DOWN = "KeyDown"; + private const string KEY_PRESS = "KeyPress"; + private const string MOVE = "Move"; + private static readonly String[] VALIDITY_WHITELIST = {BOTH, LEFT, RIGHT}; + private static readonly String[] EVENTTYPES_WHITELIST = {BUTTON_DOWN, BUTTON_UP, MOVE}; + + /////////////////////////////////////////////////////////////////////////////// + // Defining Variables, Enumerations, Events // + /////////////////////////////////////////////////////////////////////////////// + + #region Static Fields + + /// + /// List to fill with imported and filtered + /// + protected static readonly List RawDataList; + + /// + /// List to fill with generated + /// + protected static readonly List SubjectList; + + /// + /// List to fill with generated or imported + /// + protected static readonly List TrialList; + + /// + /// List to fill with trial event data + /// + protected static readonly List EventList; + + /// + /// Saves the ASCII file import specialized settings + /// during this import session. + /// + protected static UXISettings asciiSetting; + + /// + /// Saves the specialized settings used during this import session. + /// + protected static DetectionSettings detectionSetting; + + public static MainForm mainWindowCache; + private static TrialsData newTrialData; + private static SQLiteOgamaDataSet.RawdataDataTable subjectRawDataTable; + + #endregion + + /////////////////////////////////////////////////////////////////////////////// + // Construction and Initializing methods // + /////////////////////////////////////////////////////////////////////////////// + + #region Constructors and Destructors + + /// + /// Initializes static members of the ImportRawData class. + /// + static UXImport() + { + SubjectList = new List(); + TrialList = new List(); + RawDataList = new List(); + EventList = new List(); + + detectionSetting = new DetectionSettings(); + asciiSetting = new UXISettings(); + } + + #endregion + + /////////////////////////////////////////////////////////////////////////////// + // Defining Properties // + /////////////////////////////////////////////////////////////////////////////// + + #region Public Properties + + /// + /// Gets the ASCII file import specialized settings + /// during this import session. + /// + /// A . + /// + public static UXISettings ASCIISettings + { + get { return asciiSetting; } + } + + /// + /// Gets the specialized settings used during this import session. + /// + /// A . + /// + public static DetectionSettings DetectionSetting + { + get { return detectionSetting; } + } + + #endregion + + #region Public Methods and Operators + + /// + /// This static method creates a slide with a sized image + /// for each trial and adds it to the slideshow. + /// + /// + /// The + /// used in this import. + /// + /// + /// The to get access to the status label. + /// + public static void GenerateOgamaSlideshowTrials(DetectionSettings detectonSettings, MainForm mainWindow) + { + // Stores found stimuli files + List trialNames = Document.ActiveDocument.ExperimentSettings.SlideShow.GetTrialNames(); + + foreach (KeyValuePair kvp in detectonSettings.TrialSequenceToTrialIDAssignments) + { + int trialID = kvp.Value; + string file = string.Empty; + if (detectonSettings.TrialIDToImageAssignments.ContainsKey(trialID)) + { + file = detectonSettings.TrialIDToImageAssignments[trialID]; + } + + string filename = Path.GetFileNameWithoutExtension(file); + + // Create slide + var stopConditions = new StopConditionCollection + { + new MouseStopCondition( + MouseButtons.Left, + true, + string.Empty, + null, + Point.Empty) + }; + + VGImage stimulusImage = null; + + if (file != string.Empty) + { + stimulusImage = new VGImage( + ShapeDrawAction.None, + Pens.Black, + Brushes.Black, + SystemFonts.MenuFont, + Color.White, + Path.GetFileName(file), + Document.ActiveDocument.ExperimentSettings.SlideResourcesPath, + ImageLayout.Zoom, + 1f, + Document.ActiveDocument.PresentationSize, + VGStyleGroup.None, + filename, + string.Empty, + true) + { + Size = Document.ActiveDocument.PresentationSize + }; + } + + var newSlide = new Slide( + filename, + Color.White, + null, + stopConditions, + null, + string.Empty, + Document.ActiveDocument.PresentationSize) + {Modified = true, MouseCursorVisible = true}; + + // Only add stimulus if an image exists + if (file != string.Empty) + { + newSlide.VGStimuli.Add(stimulusImage); + } + else + { + newSlide.Name = "No stimulus detected"; + } + + // Create trial + if (Document.ActiveDocument.ExperimentSettings.SlideShow.GetNodeByID(trialID) != null) + { + // trialID = int.Parse(Document.ActiveDocument.ExperimentSettings.SlideShow.GetUnusedNodeID()); + // var message = string.Format("The trial with the ID:{0} exists already in the slideshow so it will not be created." + // + Environment.NewLine + "Delete the trial with this ID in the slideshow design module if you want it to be newly created by the importer, or assign a new ID to the imported data.", trialID); + // ExceptionMethods.ProcessMessage("This trial exists already", message); + continue; + } + + var newTrial = new Trial(filename, trialID) {Name = filename}; + + newTrial.Add(newSlide); + + if (trialNames.Contains(filename) || + (filename == string.Empty && trialNames.Contains("No stimulus detected"))) + { + // Trial already exists + continue; + } + + trialNames.Add(filename); + + // Create slide node + var slideNode = new SlideshowTreeNode(newSlide.Name) + { + Name = trialID.ToString(CultureInfo.InvariantCulture), + Slide = newSlide + }; + + // Add slide node to slideshow + Document.ActiveDocument.ExperimentSettings.SlideShow.Nodes.Add(slideNode); + Document.ActiveDocument.Modified = true; + } + + mainWindow.StatusLabel.Text = "Saving slideshow to file ..."; + if (!Document.ActiveDocument.SaveSettingsToFile(Document.ActiveDocument.ExperimentSettings.DocumentFilename) + ) + { + ExceptionMethods.ProcessErrorMessage("Couldn't save slideshow to experiment settings."); + } + + mainWindow.StatusLabel.Text = "Refreshing context panel ..."; + //mainWindow.RefreshContextPanelImageTabs(); + mainWindow.StatusLabel.Text = "Ready ..."; + mainWindow.StatusProgressbar.Value = 0; + } + + /////////////////////////////////////////////////////////////////////////////// + // Public methods // + /////////////////////////////////////////////////////////////////////////////// + + /// + /// Generates the trial list for the current import settings + /// up to the number of lines that are given. + /// + /// + /// An + /// with the max number of lines to import. + /// Set it to -1 to use all lines. + /// + /// + /// A with the calculated trials. + /// + public static List GetTrialList(int numberOfImportLines) + { + // Convert the import file into ogama column format + GenerateOgamaRawDataList(numberOfImportLines); + // Generate the trial list from the raw data with the current settings. + GenerateOgamaSubjectAndTrialList(); + + return TrialList; + } + + /// + /// Starts a multiple dialog routine (raw data import assistant) + /// for reading raw data files into the programs database + /// + /// + /// The to get access to the status label. + /// + public static void Start(MainForm mainWindow) + { + mainWindowCache = mainWindow; + + var folderBrowser = new FolderBrowserDialog(); + if (folderBrowser.ShowDialog() != DialogResult.OK) + { + return; + } + + asciiSetting.Folder = folderBrowser.SelectedPath; + var folders = CreateFolderList(asciiSetting.Folder); + if (folders.Count == 0) + { + MessageBox.Show("No projects have been found in selected folder and folders inside it.", + "Project not found", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + var dialog = new UXImportDialog(); + dialog.setDirectories(folders); + dialog.setPreferredEye("Average"); + dialog.ShowDialog(); + } + + public static List CreateFolderList(Object d) + { + List result = new List(); + + if (CheckDirectory((String) d)) + { + result.Add((String) d); + } + + foreach (String dir in Directory.EnumerateDirectories((String) d)) + { + if (UXImport.CheckDirectory(dir)) + { + result.Add((String) dir); + } + else + { + result = result.Concat(CreateFolderList(dir)).ToList(); + } + } + + return result; + } + + public static bool CheckDirectory(String dir) + { + return File.Exists(dir + "\\settings.json"); + } + + public static Task ImportVideo(string input, string output, CancellationToken token) + { + var inputFile = new MediaFile(input); + var outputFile = new MediaFile(output); + var e = new Engine("ffmpeg/ffmpeg.exe"); + return e.ConvertAsync(inputFile, outputFile, token); + } + + public static void Run(List values, IProgress progress, CancellationToken token, + String preferredEye, bool importVideo, bool mouseMovement, bool mouseEvents, bool keyboardEvents) + { + int p = 0; + foreach (String value in values) + { + PrepareRun(value); + Task videoTask = null; + if (importVideo) + { + if (File.Exists(asciiSetting.GetScreenVideoAVIPath())) + { + File.Copy(asciiSetting.GetScreenVideoAVIPath(), Path.Combine(Document.ActiveDocument.ExperimentSettings.ThumbsPath, + detectionSetting.SubjectName + "-" + "0.avi")); + } + else + { + videoTask = ImportVideo(asciiSetting.GetScreenVideoMP4Path(), + Path.Combine(Document.ActiveDocument.ExperimentSettings.ThumbsPath, + detectionSetting.SubjectName + "-" + "0.avi"), token); + } + } + + asciiSetting.PreferredEye = preferredEye; + asciiSetting.ImportMouseMovement = mouseMovement; + asciiSetting.ImportMouseEvents = mouseEvents; + asciiSetting.ImportKeyboardEvets = keyboardEvents; + Run(value); + if (token.IsCancellationRequested) + { + return; + } + + if (videoTask != null) + { + videoTask.Wait(); + } + + progress.Report(++p); + } + + string message = "Import data was successfull." + Environment.NewLine + + "Please don´t forget to save data in database module." + + Environment.NewLine + + "Also do not forget that some modules (for example export to AVI) requires defined screen recording slide, that can be created in Design module."; + ExceptionMethods.ProcessMessage("Success", message); + } + + public static void PrepareRun(Object dir) + { + Application.DoEvents(); + + asciiSetting = new UXISettings(); + detectionSetting = new DetectionSettings(); + asciiSetting.Folder = (string) dir; + + RawDataList.Clear(); + EventList.Clear(); + + string currentSubjectName = Path.GetFileName(asciiSetting.Folder); + + if (!Char.IsLetter(currentSubjectName[0])) + { + currentSubjectName = "I" + currentSubjectName; + } + + Regex rgx = new Regex("[^a-zA-Z0-9]"); + currentSubjectName = rgx.Replace(currentSubjectName, ""); + + DateTime started = GetStartTime(); + DateTimeOffset startedOffset = new DateTimeOffset(started.ToUniversalTime()); + long startedmilis = startedOffset.ToUnixTimeMilliseconds(); + + detectionSetting.SubjectName = currentSubjectName; + detectionSetting.TimeFactor = 1; + detectionSetting.ImportType = ImportTypes.Rawdata; + asciiSetting.StartTime = startedmilis; + SubjectsData data = new SubjectsData(); + data.SubjectName = currentSubjectName; + SubjectList.Add(data); + newTrialData = new TrialsData(); + newTrialData.SubjectName = currentSubjectName; + newTrialData.TrialSequence = 0; + newTrialData.TrialID = 1; + newTrialData.TrialStartTime = 0; + + subjectRawDataTable = new SQLiteOgamaDataSet.RawdataDataTable(); + + // Give it correct name + subjectRawDataTable.TableName = currentSubjectName + "Rawdata"; + } + + public static void Run(Object dir) + { + try + { + GenerateOgamaRawDataList(-1); + GenerateMouseDataList(); + if (asciiSetting.ImportKeyboardEvets) + { + GenerateKeyboardEventList(); + } + + // Save the import into ogamas database and the mdf file. + bool successful = SaveImportIntoTablesAndDB(); + + // Create slideshow trials + GenerateOgamaSlideshowTrials(detectionSetting, mainWindowCache); + + // Calculate Fixations + CalculateFixations(mainWindowCache); + + // Clear lists + SubjectList.Clear(); + TrialList.Clear(); + RawDataList.Clear(); + + // Import has finished. + asciiSetting.WaitingSplash.CancelAsync(); + } + catch (Exception ex) + { + string message = "Something failed during import." + Environment.NewLine + + "Please try again with other settings. " + + Environment.NewLine + "Error: " + ex.Message + + Environment.NewLine + ex.StackTrace; + ExceptionMethods.ProcessErrorMessage(message); + if (asciiSetting.WaitingSplash.IsBusy) + { + asciiSetting.WaitingSplash.CancelAsync(); + } + } + } + + private static void GenerateKeyboardEventList() + { + long startedmilis = asciiSetting.StartTime; + string currentSubjectName = detectionSetting.SubjectName; + StreamReader MEDataFile = new StreamReader(asciiSetting.GetKBDataPath()); + JavaScriptSerializer deserializer = new JavaScriptSerializer(); + var json = deserializer.Deserialize(MEDataFile.ReadToEnd()); + SortedList trial2Time = detectionSetting.TrialSequenceToStarttimeAssignments; + int currentTrialSequence = 0; + if (trial2Time.Count > 0) + { + currentTrialSequence = trial2Time.Keys[0]; + } + + foreach (dynamic record in json) + { + if (record["EventType"] == KEY_PRESS) + { + continue; + } + + var newEventData = new TrialEventsData(); + newEventData.SubjectName = currentSubjectName; + newEventData.TrialSequence = currentTrialSequence; + DateTime time = DateTime.Parse(record["Timestamp"]); + DateTimeOffset timeOffset = new DateTimeOffset(time); + newEventData.EventTime = timeOffset.ToUnixTimeMilliseconds() - startedmilis; + newEventData.EventType = "Key"; + if (record["EventType"] == KEY_UP) + { + newEventData.EventTask = "Up"; + } + + if (record["EventType"] == KEY_DOWN) + { + newEventData.EventTask = "Down"; + } + + newEventData.EventParam = "Key: " + record["KeyCode"]; + newEventData.EventID = EventList.Count + 1; + EventList.Add(newEventData); + } + } + + #endregion + + #region Methods + + /// + /// This method calculates the fixations for the subjects + /// that are currently imported. + /// + /// + /// The to get access to the status label. + /// + private static void CalculateFixations(MainForm mainWindow) + { + mainWindow.StatusLabel.Text = "Calculating Fixations ..."; + + foreach (SubjectsData subject in SubjectList) + { + // Get trial data of current subject + DataTable trialsTable = + Document.ActiveDocument.DocDataSet.TrialsAdapter.GetDataBySubject(subject.SubjectName); + + // Calculate fixations + var calculationObject = new FixationCalculation(); + calculationObject.CalcFixations(SampleType.Gaze, subject.SubjectName, trialsTable, null, null); + calculationObject.CalcFixations(SampleType.Mouse, subject.SubjectName, trialsTable, null, null); + } + + mainWindow.StatusLabel.Text = "Fixation calculation done ..."; + } + + private static DateTime GetStartTime() + { + dynamic states = null; + try + { + states = ASCIISettings.GetScreenCaptureStates(); + } + catch (Exception e) + { + states = ASCIISettings.GetEyeTrackerStates(); + } + + foreach (var state in states) + { + if (state["State"] == "Recording") + { + return DateTime.Parse(state["Timestamp"]); + } + } + + throw new System.MissingFieldException("Recording state timestamp not found"); + } + + /// + /// Generate the list of raw data under the current + /// parsing conditions. + /// + /// + /// An + /// with the max number of lines to import. + /// Set it to -1 to use all lines. + /// + /// + /// This is the heart of the class. If something does not work as expected, + /// first have a look here. + /// + private static void GenerateOgamaRawDataList(int numberOfImportLines) + { + // Clear existing values + + + double lastTimeInFileTime = -1; + + // Retrieve existing slideshow trials (to check matching filenames for + // correct trial ID numbering + List trials = Document.ActiveDocument.ExperimentSettings.SlideShow.Trials; + List trialNames = Document.ActiveDocument.ExperimentSettings.SlideShow.GetTrialNames(); + + int counter = 0; + int trialCounter = 0; + bool isLastTrial = false; + string lastSubjectName = "#"; + SortedList trial2Time = detectionSetting.TrialSequenceToStarttimeAssignments; + int currentTrialSequence = 0; + if (trial2Time.Count > 0) + { + currentTrialSequence = trial2Time.Keys[0]; + } + + string currentSubjectName = detectionSetting.SubjectName; + var startedmilis = asciiSetting.StartTime; + + using (FileStream fs = new FileStream(asciiSetting.GetETDataPath(), FileMode.Open, FileAccess.Read)) + using (StreamReader sr = new StreamReader(fs)) + using (var jsonTextReader = new JsonTextReader(sr)) + { + while (jsonTextReader.Read()) + { + if (jsonTextReader.TokenType == JsonToken.StartObject) + { + JObject record = JObject.Load(jsonTextReader); + if (Array.IndexOf(VALIDITY_WHITELIST, record["Validity"].ToString()) == -1) + { + continue; + } + + var newRawData = new RawData(); + newRawData.SubjectName = currentSubjectName; + dynamic gazeData = record["RightEye"]; + if (record["Validity"].ToString() == BOTH) + { + if (asciiSetting.PreferredEye == "Average") + { + gazeData["GazePoint2D"]["X"] = + ((double) record["RightEye"]["GazePoint2D"]["X"] + + (double) record["LeftEye"]["GazePoint2D"]["X"]) / 2; + gazeData["GazePoint2D"]["Y"] = + ((double) record["RightEye"]["GazePoint2D"]["Y"] + + (double) record["LeftEye"]["GazePoint2D"]["Y"]) / 2; + } + else + { + gazeData = record[asciiSetting.PreferredEye + "Eye"]; + } + } + else + { + gazeData = record[record["Validity"] + "Eye"]; + } + + newRawData.GazePosX = (float) gazeData["GazePoint2D"]["X"] * + Document.ActiveDocument.ExperimentSettings.WidthStimulusScreen; + newRawData.GazePosY = (float) gazeData["GazePoint2D"]["Y"] * + Document.ActiveDocument.ExperimentSettings.HeightStimulusScreen; + newRawData.PupilDiaX = (float) gazeData["PupilDiameter"]; + newRawData.PupilDiaY = (float) gazeData["PupilDiameter"]; + DateTime time = DateTime.Parse(record["Timestamp"].ToString()); + DateTimeOffset timeOffset = new DateTimeOffset(time); + newRawData.Time = timeOffset.ToUnixTimeMilliseconds() - startedmilis; + counter++; + if (RawDataList.Count > 10000) + { + Queries.SaveDataToTable(RawDataList.ToArray(), subjectRawDataTable); + RawDataList.Clear(); + } + + RawDataList.Add(newRawData); + } + } + } + + + newTrialData.Duration = (int) RawDataList[RawDataList.Count - 1].Time; + TrialList.Add(newTrialData); + //ETDataFile.Close(); + Document.ActiveDocument.DocDataSet.Tables.Add(subjectRawDataTable); + Queries.SaveDataToTable(RawDataList.ToArray(), subjectRawDataTable); + RawDataList.Clear(); + + } + + private static void GenerateMouseDataList() + { + var currentTrialSequence = 0; + string currentSubjectName = detectionSetting.SubjectName; + var startedmilis = asciiSetting.StartTime; + + using (FileStream fs = new FileStream(asciiSetting.GetMEDataPath(), FileMode.Open, FileAccess.Read)) + using (StreamReader sr = new StreamReader(fs)) + using (var jsonTextReader = new JsonTextReader(sr)) + { + while (jsonTextReader.Read()) + { + if (jsonTextReader.TokenType == JsonToken.StartObject) + { + JObject record = JObject.Load(jsonTextReader); + if (Array.IndexOf(EVENTTYPES_WHITELIST, record["EventType"].ToString()) == -1) + { + continue; + } + + if (record["EventType"].ToString() == MOVE) + { + if (!asciiSetting.ImportMouseMovement) + { + continue; + } + + var newRawData = new RawData(); + newRawData.SubjectName = currentSubjectName; + DateTime time = DateTime.Parse(record["Timestamp"].ToString()); + DateTimeOffset timeOffset = new DateTimeOffset(time); + newRawData.Time = timeOffset.ToUnixTimeMilliseconds() - startedmilis; + newRawData.MousePosX = record["X"].ToObject(); + newRawData.MousePosY = record["Y"].ToObject(); + RawDataList.Add(newRawData); + } + else + { + if (!asciiSetting.ImportMouseEvents) + { + continue; + } + + var newEventData = new TrialEventsData(); + newEventData.SubjectName = currentSubjectName; + newEventData.TrialSequence = currentTrialSequence; + DateTime time = DateTime.Parse(record["Timestamp"].ToString()); + DateTimeOffset timeOffset = new DateTimeOffset(time); + newEventData.EventTime = timeOffset.ToUnixTimeMilliseconds() - startedmilis; + newEventData.EventType = "Mouse"; + if (record["EventType"].ToString() == BUTTON_UP) + { + newEventData.EventTask = "Up"; + } + + if (record["EventType"].ToString() == BUTTON_DOWN) + { + newEventData.EventTask = "Down"; + } + + newEventData.EventParam = + String.Format("Mouse: {0} ({1},{2})", record["Button"], record["X"], record["Y"]); + newEventData.EventID = EventList.Count; + EventList.Add(newEventData); + } + } + } + } + + Queries.SaveDataToTable(RawDataList.ToArray(), subjectRawDataTable); + RawDataList.Clear(); + } + + /// + /// This method iterates the imported raw data rows to + /// catch the trial changes that are detected during the call + /// of . + /// The trials are then written into the trial list. + /// + private static void GenerateOgamaSubjectAndTrialList() + { + // Clear foregoing imports. + TrialList.Clear(); + SubjectList.Clear(); + + if (RawDataList.Count == 0) + { + // string message = "The parsing of the log file into OGAMAs " + + // "Raw data columns failed. No lines have been successfully read. " + + // Environment.NewLine + + // "So the trial generation could not be started." + + // Environment.NewLine + "Please change the import settings and try again"; + // ExceptionMethods.ProcessErrorMessage(message); + return; + } + + // Initializes variables + int currentSequence = 0; + int lastSequence = -5; + string currentSubject = "#"; + string lastSubject = "#"; + int overallTrialCounter = 0; + int trialCounter = 0; + int subjectCounter = 0; + + // Iterate raw data list + for (int i = 0; i < RawDataList.Count; i++) + { + RawData importRow = RawDataList[i]; + currentSequence = importRow.TrialSequence; + currentSubject = importRow.SubjectName; + + // If subject has changed write new subject table entry. + if (currentSubject != lastSubject) + { + var newSubjectsData = new SubjectsData(); + newSubjectsData.SubjectName = currentSubject; + SubjectList.Add(newSubjectsData); + + if (subjectCounter > 0) + { + TrialsData tempSubjetData = TrialList[overallTrialCounter - 1]; + tempSubjetData.Duration = (int) (RawDataList[i - 1].Time - tempSubjetData.TrialStartTime); + TrialList[overallTrialCounter - 1] = tempSubjetData; + } + + lastSubject = currentSubject; + lastSequence = -5; + trialCounter = 0; + subjectCounter++; + } + + // If trial has changed parse the trial information to + // create a trial entry in the trialList. + if (currentSequence != lastSequence) + { + string subject = importRow.SubjectName != null ? importRow.SubjectName : "Subject1"; + string categorie = importRow.Category != null ? importRow.Category : string.Empty; + int trialID = 1; + + string image = "No image file specified"; + + switch (detectionSetting.StimuliImportMode) + { + case StimuliImportModes.UseiViewXMSG: + if (detectionSetting.ImageDictionary.ContainsKey(currentSequence)) + { + image = detectionSetting.ImageDictionary[currentSequence]; + } + + break; + case StimuliImportModes.UseImportColumn: + case StimuliImportModes.UseAssignmentTable: + if (detectionSetting.TrialSequenceToTrialIDAssignments.ContainsKey(currentSequence)) + { + trialID = detectionSetting.TrialSequenceToTrialIDAssignments[currentSequence]; + if (detectionSetting.TrialIDToImageAssignments.ContainsKey(trialID)) + { + image = detectionSetting.TrialIDToImageAssignments[trialID]; + } + } + + break; + case StimuliImportModes.SearchForImageEnding: + if (detectionSetting.ImageDictionary.ContainsKey(currentSequence)) + { + image = detectionSetting.ImageDictionary[currentSequence]; + } + + break; + } + + // Add empty trial to sequence numbering. + if (detectionSetting.StimuliImportMode != StimuliImportModes.UseImportColumn + && image == "No image file specified") + { + if (!detectionSetting.TrialSequenceToTrialIDAssignments.ContainsKey(currentSequence)) + { + detectionSetting.TrialSequenceToTrialIDAssignments.Add(currentSequence, 0); + } + } + + long time = 0; + switch (detectionSetting.TrialImportMode) + { + ////// Use the table timing + ////if (detectionSetting.TrialSequenceToStarttimeAssignments.ContainsKey(currentSequence)) + ////{ + //// time = detectionSetting.TrialSequenceToStarttimeAssignments[currentSequence]; + ////} + //// break; + case TrialSequenceImportModes.UseAssignmentTable: + case TrialSequenceImportModes.UseMSGLines: + case TrialSequenceImportModes.UseImportColumn: + + // Use the raw data timing + time = importRow.Time; + break; + } + + // Create trial row + var newTrialData = new TrialsData(); + newTrialData.SubjectName = subject; + newTrialData.TrialSequence = currentSequence; + newTrialData.TrialID = trialID; + newTrialData.TrialName = image; + newTrialData.Category = categorie; + newTrialData.TrialStartTime = time; + newTrialData.Duration = -1; + TrialList.Add(newTrialData); + + lastSequence = currentSequence; + trialCounter++; + overallTrialCounter++; + + // Calculate trial duration for foregoing trial. + if (trialCounter > 1) + { + TrialsData tempSubjetData = TrialList[overallTrialCounter - 2]; + int duration = 0; + switch (detectionSetting.TrialImportMode) + { + case TrialSequenceImportModes.UseAssignmentTable: + + // Use the table timing + duration = (int) (time - tempSubjetData.TrialStartTime); + break; + case TrialSequenceImportModes.UseMSGLines: + case TrialSequenceImportModes.UseImportColumn: + + // Use the raw data timing + duration = (int) (RawDataList[i].Time - tempSubjetData.TrialStartTime); + break; + } + + //// If there is lot of time (>200ms) left between last and current trial + //// don´t use the space in between for the duration value. + ////if (rawDataList[i].Time - rawDataList[i - 1].Time > 200) + ////{ + //// duration = (int)(rawDataList[i - 1].Time - tempSubjetData.TrialStartTime); + ////} + tempSubjetData.Duration = duration; + TrialList[overallTrialCounter - 2] = tempSubjetData; + } + } + } + + // Reached end of rawdatalist, so add last trial duration value from last entry + if (trialCounter >= 1) + { + TrialsData tempSubjetData = TrialList[overallTrialCounter - 1]; + tempSubjetData.Duration = + (int) (RawDataList[RawDataList.Count - 1].Time - tempSubjetData.TrialStartTime); + TrialList[overallTrialCounter - 1] = tempSubjetData; + } + } + + /// + /// This method writes the data that is written in the lists during + /// import to OGAMAs dataset. + /// If this could be successfully done the whole new data is + /// written to the database (.mdf). + /// + /// + /// True if successful, otherwise + /// false. + /// + private static bool SaveImportIntoTablesAndDB() + { + int subjectErrorCounter = 0; + try + { + SubjectsData subject = SubjectList[0]; + string testSub = subject.SubjectName; + if (!Queries.ValidateSubjectName(ref testSub, false)) + { + string message = testSub + " subject has unallowed names or " + + "their names already exists in the experiments database." + + Environment.NewLine + + "Please modify your import file and change the subject name, or delete " + + "the existing database entry."; + ExceptionMethods.ProcessMessage("Unallowed subject names", message); + } + + // Creates an empty raw data table in the mdf database + Queries.CreateRawDataTableInDB(subject.SubjectName); + + // Push changes to database + Document.ActiveDocument.DocDataSet.AcceptChanges(); + + // Write RawDataTable into File with Bulk Statement + Queries.WriteRawDataWithBulkStatement(subject.SubjectName); + + // Save subject information to dataset + if (!Queries.WriteSubjectToDataSet(subject)) + { + throw new DataException("The new subject information could not be written into the dataset."); + } + + // Save trial information to dataset + if (!Queries.WriteTrialsDataListToDataSet(TrialList)) + { + throw new DataException("The new trials table could not be written into the dataset."); + } + + if (!Queries.WriteTrialEventsDataListToDataSet(EventList)) + { + throw new DataException("The new trial events could not be written into the dataset."); + } + + Document.ActiveDocument.DocDataSet.EnforceConstraints = false; + + Document.ActiveDocument.DocDataSet.TrialEventsAdapter.Update(Document.ActiveDocument.DocDataSet + .TrialEvents); + + // Update subjects and trials table in the mdf database + int affectedRows = + Document.ActiveDocument.DocDataSet.TrialsAdapter.Update(Document.ActiveDocument.DocDataSet.Trials); + Console.WriteLine(affectedRows + "Trial updates written"); + affectedRows = + Document.ActiveDocument.DocDataSet.SubjectsAdapter.Update(Document.ActiveDocument.DocDataSet + .Subjects); + Console.WriteLine(affectedRows + "Subject updates written"); + + Document.ActiveDocument.DocDataSet.AcceptChanges(); + Document.ActiveDocument.DocDataSet.CreateRawDataAdapters(); + } + catch (Exception ex) + { + ExceptionMethods.HandleException(ex); + + // CleanUp + // First reject changes (remove trial and subject table modifications) + Document.ActiveDocument.DocDataSet.RejectChanges(); + + foreach (SubjectsData subject in SubjectList) + { + // Remove eventually added raw data table in dataset + if (Document.ActiveDocument.DocDataSet.Tables.Contains(subject.SubjectName + "Rawdata")) + { + Document.ActiveDocument.DocDataSet.Tables.Remove(subject.SubjectName + "Rawdata"); + } + + // Remove raw data table in database file (.mdf) + Queries.DeleteRawDataTableInDB(subject.SubjectName); + } + + return false; + } + finally + { + Document.ActiveDocument.DocDataSet.EnforceConstraints = true; + } + + return true; + } + +/////////////////////////////////////////////////////////////////////////////// +// Small helping Methods // +/////////////////////////////////////////////////////////////////////////////// + + /// + /// Saves the current import setting to a OGAMA import settings file. + /// Extension ".ois" + /// + /// + /// A with the path to the + /// OGAMA target import settings xml file. + /// + private static void SerializeSettings(string filePath) + { + try + { + using (TextWriter writer = new StreamWriter(filePath)) + { + var settings = new MergedSettings {AsciiSetting = null, DetectionSetting = detectionSetting}; + + var serializer = new XmlSerializer(typeof(MergedSettings)); + serializer.Serialize(writer, settings); + } + } + catch (Exception ex) + { + ExceptionMethods.HandleException(ex); + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Ogama/Modules/ImportExport/UXI/UXImportDialog.Designer.cs b/Ogama/Modules/ImportExport/UXI/UXImportDialog.Designer.cs new file mode 100644 index 00000000..1f82c655 --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/UXImportDialog.Designer.cs @@ -0,0 +1,267 @@ +namespace Ogama.Modules.ImportExport.UXI +{ + partial class UXImportDialog + { + /// + /// 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() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UXImportDialog)); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.preferredEye = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.checkBox2 = new System.Windows.Forms.CheckBox(); + this.checkBox3 = new System.Windows.Forms.CheckBox(); + this.checkBox4 = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.button2 = new System.Windows.Forms.Button(); + this.directoriesView = new System.Windows.Forms.DataGridView(); + this.Import = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.FolderName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.button1 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.sqLiteTadShapeGroups1 = new Ogama.DataSet.SQLiteOgamaDataSetTableAdapters.SQLiteTadShapeGroups(); + this.tableLayoutPanel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.directoriesView)).BeginInit(); + this.SuspendLayout(); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 30.21042F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 69.78958F)); + this.tableLayoutPanel1.Controls.Add(this.preferredEye, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.checkBox1, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.checkBox2, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.checkBox3, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.checkBox4, 1, 4); + this.tableLayoutPanel1.Controls.Add(this.label1, 1, 5); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 20); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 6; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 30F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 31F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 8F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(779, 173); + this.tableLayoutPanel1.TabIndex = 1; + // + // preferredEye + // + this.preferredEye.Dock = System.Windows.Forms.DockStyle.Fill; + this.preferredEye.FormattingEnabled = true; + this.preferredEye.Items.AddRange(new object[] { + "Right", + "Left", + "Average"}); + this.preferredEye.Location = new System.Drawing.Point(239, 4); + this.preferredEye.Margin = new System.Windows.Forms.Padding(4); + this.preferredEye.Name = "preferredEye"; + this.preferredEye.Size = new System.Drawing.Size(536, 24); + this.preferredEye.TabIndex = 8; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(4, 0); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(95, 17); + this.label3.TabIndex = 2; + this.label3.Text = "Preferred eye"; + // + // checkBox1 + // + this.checkBox1.AutoSize = true; + this.checkBox1.Checked = true; + this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.checkBox1.Location = new System.Drawing.Point(238, 33); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(538, 26); + this.checkBox1.TabIndex = 9; + this.checkBox1.Text = "Import video"; + this.checkBox1.UseVisualStyleBackColor = true; + // + // checkBox2 + // + this.checkBox2.AutoSize = true; + this.checkBox2.Dock = System.Windows.Forms.DockStyle.Fill; + this.checkBox2.Location = new System.Drawing.Point(238, 89); + this.checkBox2.Name = "checkBox2"; + this.checkBox2.Size = new System.Drawing.Size(538, 25); + this.checkBox2.TabIndex = 12; + this.checkBox2.Text = "Import mouse events"; + this.checkBox2.UseVisualStyleBackColor = true; + // + // checkBox3 + // + this.checkBox3.AutoSize = true; + this.checkBox3.Checked = true; + this.checkBox3.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox3.Location = new System.Drawing.Point(238, 65); + this.checkBox3.Name = "checkBox3"; + this.checkBox3.Size = new System.Drawing.Size(184, 18); + this.checkBox3.TabIndex = 14; + this.checkBox3.Text = "Import mouse movement"; + this.checkBox3.UseVisualStyleBackColor = true; + // + // checkBox4 + // + this.checkBox4.AutoSize = true; + this.checkBox4.Checked = true; + this.checkBox4.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox4.Location = new System.Drawing.Point(238, 120); + this.checkBox4.Name = "checkBox4"; + this.checkBox4.Size = new System.Drawing.Size(178, 21); + this.checkBox4.TabIndex = 15; + this.checkBox4.Text = "Import keyboard events"; + this.checkBox4.UseVisualStyleBackColor = true; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(238, 152); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(528, 21); + this.label1.TabIndex = 16; + this.label1.Text = "Too many mouse/keyboard events in a trial may cause performance issues during pla" + + "yback."; + // + // button2 + // + this.button2.Dock = System.Windows.Forms.DockStyle.Top; + this.button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button2.Location = new System.Drawing.Point(0, 173); + this.button2.Margin = new System.Windows.Forms.Padding(4, 20, 4, 4); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(779, 31); + this.button2.TabIndex = 2; + this.button2.Text = "Import"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // directoriesView + // + this.directoriesView.AllowUserToAddRows = false; + this.directoriesView.AllowUserToDeleteRows = false; + this.directoriesView.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + this.directoriesView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.directoriesView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.Import, + this.FolderName}); + this.directoriesView.Dock = System.Windows.Forms.DockStyle.Bottom; + this.directoriesView.Location = new System.Drawing.Point(0, 241); + this.directoriesView.Margin = new System.Windows.Forms.Padding(4); + this.directoriesView.Name = "directoriesView"; + this.directoriesView.Size = new System.Drawing.Size(779, 335); + this.directoriesView.TabIndex = 3; + // + // Import + // + this.Import.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; + this.Import.FalseValue = "False"; + this.Import.HeaderText = "Import"; + this.Import.Name = "Import"; + this.Import.TrueValue = "True"; + this.Import.Width = 50; + // + // FolderName + // + this.FolderName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.FolderName.HeaderText = "Folder Name"; + this.FolderName.Name = "FolderName"; + this.FolderName.ReadOnly = true; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(0, 211); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 4; + this.button1.Text = "Check all"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // button3 + // + this.button3.Location = new System.Drawing.Point(81, 210); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(102, 23); + this.button3.TabIndex = 5; + this.button3.Text = "Uncheck all"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); + // + // sqLiteTadShapeGroups1 + // + this.sqLiteTadShapeGroups1.ClearBeforeFill = true; + // + // UXImportDialog + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(779, 576); + this.Controls.Add(this.button3); + this.Controls.Add(this.button1); + this.Controls.Add(this.directoriesView); + this.Controls.Add(this.button2); + this.Controls.Add(this.tableLayoutPanel1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4); + this.MaximizeBox = false; + this.Name = "UXImportDialog"; + this.Text = "UXImport"; + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.directoriesView)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.ComboBox preferredEye; + private System.Windows.Forms.Button button2; + private System.Windows.Forms.DataGridView directoriesView; + private System.Windows.Forms.DataGridViewCheckBoxColumn Import; + private System.Windows.Forms.DataGridViewTextBoxColumn FolderName; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.CheckBox checkBox1; + private System.Windows.Forms.CheckBox checkBox2; + private System.Windows.Forms.CheckBox checkBox3; + private System.Windows.Forms.CheckBox checkBox4; + private System.Windows.Forms.Label label1; + private DataSet.SQLiteOgamaDataSetTableAdapters.SQLiteTadShapeGroups sqLiteTadShapeGroups1; + } +} \ No newline at end of file diff --git a/Ogama/Modules/ImportExport/UXI/UXImportDialog.cs b/Ogama/Modules/ImportExport/UXI/UXImportDialog.cs new file mode 100644 index 00000000..6244bb10 --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/UXImportDialog.cs @@ -0,0 +1,91 @@ +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 System.IO; +using System.Threading; +using Ogama.ExceptionHandling; + +namespace Ogama.Modules.ImportExport.UXI +{ + public delegate void CloseDelagate(); + public partial class UXImportDialog : Form + { + public UXImportDialog() + { + InitializeComponent(); + } + + public void setPreferredEye(String value) + { + preferredEye.Text = value; + } + + public void setDirectories(List list) + { + directoriesView.Rows.Clear(); + foreach (var dir in list) + { + var n = directoriesView.Rows.Add(); + directoriesView.Rows[n].Cells[0].Value = "True"; + directoriesView.Rows[n].Cells[1].Value = dir; + } + } + + private async void button2_Click(object sender, EventArgs e) + { + ProgressForm form = new ProgressForm(); + form.Show(); + List valueList = new List(); + foreach (DataGridViewRow value in directoriesView.Rows) + { + if (value.Cells[0].Value == "True") + { + valueList.Add((String) value.Cells[1].Value); + } + } + form.setMaximum(valueList.Count); + IProgress p = new Progress(v => + { + form.setProgress(v); + UXImport.mainWindowCache.RefreshContextPanelImageTabs(); + UXImport.mainWindowCache.RefreshContextPanelSubjects(); + }); + IProgress k = new Progress(v => form.Close()); + var tokenSource = new CancellationTokenSource(); + form.setTask(tokenSource); + string eye = preferredEye.Text; + bool importVideo = checkBox1.Checked; + bool importMouseMovement = checkBox3.Checked; + bool importMouseEvents = checkBox2.Checked; + bool importKeyboardEvents = checkBox4.Checked; + Task task = new Task(() => + { + UXImport.Run(valueList, p, tokenSource.Token, eye, importVideo, importMouseMovement, importMouseEvents, importKeyboardEvents); + k.Report(1); + }); + task.Start(); + } + + private void button1_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow value in directoriesView.Rows) + { + value.Cells[0].Value = "True"; + } + } + + private void button3_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow value in directoriesView.Rows) + { + value.Cells[0].Value = "False"; + } + } + } +} diff --git a/Ogama/Modules/ImportExport/UXI/UXImportDialog.resx b/Ogama/Modules/ImportExport/UXI/UXImportDialog.resx new file mode 100644 index 00000000..d6c050cf --- /dev/null +++ b/Ogama/Modules/ImportExport/UXI/UXImportDialog.resx @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + True + + + True + + + 17, 17 + + + + + AAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD///8A////AP///wD///8AAAAAAAAAAAAAAAABAAAAAYCAgAKAgIACgICAAlVVVQNAQEAEZmZmBWZm + ZgVVVVUGVVVVBlVVVQZmZmYFgICABFVVVQOAgIACgICAAoCAgAIAAAABAAAAAQAAAAAAAAAAAAAAAP// + /wD///8A////AP///wD///8A////AP///wAAAAABgICAAmZmZgVNTU0KW1tbDlpaWhFVVVUSWVlZFFVV + VRhSUlIcWFhYHVVVVR5VVVUeVVVVHlhYWB1YWFgaVVVVFVFRURNaWloRVVVVD1VVVQxJSUkHVVVVAwAA + AAEAAAAA////AP///wD///8A////AP///wD///8A////AICAgAJ+fn+Zfn5//35+f/9+fn//fn5//35+ + f/9+fn//fn5//35+f/9+fn//fn5//35+f/9+fn//fn5//35+f/9+fn//fn5//35+f/9+fn//fn5//35+ + f/99fX6bQEBABAAAAAH///8A////AP///wD///8A////AP///wD///8AVVVVA39/gP/Z2dn/39/f/9/f + 3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f3//f39//39/f/9/f + 3//f39//2dnZ/39/gP9VVVUGAAAAAf///wD///8A////AAx1QAAMdUAADHVAAAx1QACAgIACgYGC/87O + zv/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8vL + y//Ly8v/y8vL/8vLy//Ozs7/gYGC/0BAQAQAAAAB////AP///wD///8ADHVAAAx1QAAMdUAADHVAAAAA + AAGCgoP/z8/P/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zMzP/MzMz/zMzM/8zM + zP/MzMz/zMzM/8zMzP/MzMz/zMzM/8/Pz/+CgoP/AAAAAQAAAAD///8A////AP///wAMdUAADHVAAAx1 + QAAMdUAADHVAAISEhf/Pz8//zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83N + zf/Nzc3/zc3N/83Nzf/Nzc3/zc3N/83Nzf/Nzc3/z8/P/4SEhf8AAAAAAAAAAP///wD///8A////AAx1 + QAAMdUAADHVAAAx1QAAMdUAAg4OE/3iljv9PlHH/jLCe/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87O + zv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Ozs7/zs7O/87Ozv/Q0ND/hoaH/////wD///8A////AP// + /wD///8ADHVAAAx1QAAMdUAADHVAAH19fgxHeWD/Qo5o/3L36f9fnH3/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ + 0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9DQ0P/Q0ND/0NDQ/9LS0v+IiIn/////AP// + /wD///8A////AP///wAMdUAADHVAAAx1QAB9fX4MHnZKmSZ5T/9l8eD/ZvHh/1+cff/R0dH/0dHR/9HR + 0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/09PT/4qK + i/////8A////AP///wD///8A////AAx1QAAMdUAAfX1+DB12SaIMdUDbYO/d/1Tp0/9d7dr/YJx+/2+j + if9+q5T/jrKg/5y5qv+twLb/u8bA/8fLyf/Oz87/0tLS/9LS0v/S0tL/0tLS/9LS0v/S0tL/0tLS/9LS + 0v/U1NT/jIyN/////wD///8A////AP///wD///8ADHVAAH19fgwcdkmpDHVA6lXmz/9J3cP/SNzC/0/j + yv9X7Nj/XO7a/1zs2f9c69b/XOrU/2jm0/984tP/kd3R/6rZ0f/D1dL/0tLS/9LS0v/S0tL/0tLS/9LS + 0v/S0tL/0tLS/9TU1P+Ojo//////AP///wD///8A////AP///wB9fX4MHHZJrgx1QPZF4MT/N9Oz/zjT + s/882Lr/P+DG/0DiyP9B4sj/QeHH/0Hfw/9A27//UNi//2vZxP+L287/p9fO/8LV0v/S0tL/0tLS/9LS + 0v/S0tL/0tLS/9LS0v/S0tL/1NTU/5GRkf////8A////AP///wD///8A////AH19fiQMdUD/PN/A/yLJ + of8fxZ3/I8mi/yjWs/8q2bj/Ktq4/yvZuf8q2Lf/KtWy/ynPrP8+0LD/X9W7/4Xayv+k183/wtbS/9PT + 0//T09P/09PT/9PT0//T09P/09PT/9PT0//V1dX/k5OT/////wD///8A////AP///wD///8AfX1+JAx1 + QP833rz/Hcad/xjBlv8Ywpj/Gc+o/xrSrP8a0qz/GtKr/xnRqf8ZzKT/Gsee/zXMqP9c1bv/h97N/6ve + 1P/L39z/3t7e/97e3v/e3t7/3t7e/97e3v/e3t7/3t7e/93d3f+VlZb/////AP///wD///8A////AP// + /wB9fX4MHHZJrkO7mvtc69b/SeDG/0Lbv/893L//OuHE/zfgw/8y3b7/K9q6/yfUsf8jzab/OM2q/1vV + u/+H4M7/q+DV/8vg3P/f39//3t/e/9/f3//f39//397f/9/e3//f39//3d3d/5eXmP////8A////AP// + /wD///8A////AAx1QAB9fX4MHHZJqUS8nPZW6dP/Q97C/znYuv873L//QOXL/0DmzP8748f/Nt7A/zHZ + uP8v2bb/NN+9/4fiz/+s4tj/0OXh/+Xl5f/j4+P/4uLi/+Hh4f/g4OD/4N/g/+Df4P/e3d7/mpqa//// + /wD///8A////AP///wD///8ADHVAAAx1QAB9fX4MHXZJokK7me5R7dj/POPI/0DmzP9/wqv/icSu/5bH + tP+jy7v/sc/C/73Tyf/I2dH/2uDd/+Pj4//n5+b/5+fn/+fn5//n5+f/5ufn/+fm5//m5ub/5OTk/+Dg + 4P+bm5v/////AP///wD///8A////AP///wAMdUAADHVAAGfp2AB9fX4MHnZKmVS3m/9L7Nf/SOvU/2qm + iP/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/6enp/+np + 6f/p6en/6Ojo/56env+rq6sAq6urAP///wD///8A////AAx1QAAMdUAAZ+nYAGfp2AB9fX4MU4Rr/2nA + pf9U8t//aqeI/+rr6v/q6ur/6+vr/+vr6//r6+r/6+rq/+vq6v/r6ur/6+vq/+vr6v/q6uv/6erp/+rp + 6v/q6un/6+rq/+vr6//o6Oj/np6e/6urqwSrq6sA////AP///wD///8ADHVAAAx1QABn6dgAZ+nYAGfp + 2ACenp7/iLWe/3TCqf+hxLL/7e3s/+3s7f/t7e3/7O3s/+3s7f/t7e3/7O3t/+3t7f/t7e3/7e3t/+3t + 7f/q6ur/3Nzc/9ra2v/d3d3/39/f/97e3v+goKD/q6urCaurqwD///8A////AP///wAMdUAADHVAAAx1 + QAAMdUAADHVAAKSkpP/v7+//7u7u/+7u7v/v7u7/7u7u/+7u7v/u7+7/7u7u/+7u7//u7u7/7u7u/+/u + 7v/u7u7/7u7u/+rp6v/Hx8j/rq6u/7S0tP+3t7f/t7e3/52dnf+rq6sHq6urAP///wD///8A////AAx1 + QAAMdUAADHVAAAx1QAAMdUAApqam//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/6+vr/83Nzf+2trb/19jY/+Hh4f/ExMT/o6OjnKurqwGrq6sA////AP// + /wD///8ADHVAAAx1QAAMdUAADHVAAAx1QACnp6f/8vLy//Lx8f/x8fH/8fHx//Hx8f/x8vH/8fHx//Lx + 8v/y8fL/8vHx//Hy8f/x8fH/8fHx//Ly8f/t7e3/0tLS/7i4uP/i4uL/3t7e/6mpqf+np6ctq6urAKur + qwD///8A////AP///wD///8A////AP///wD///8A////AKmpqf/x8PH/8PDw//Dw8P/w8PD/8PDw//Dw + 8P/w8PD/8PDw//Dw8P/w8PD/8PDw//Dw8P/w8PD/8PDw/+vr6//Q0ND/ubm5/9zc3P+ysrL/qampY6ur + qwCrq6sAq6urAP///wD///8A////AP///wD///8A////AP///wD///8Aqqqq/+/v7//z8/P/8/Pz//Pz + 8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/7+/v/9XV1f/FxcX/t7e3/6qq + qoSrq6sAq6urAKurqwCrq6sA////AP///wD///8A////AP///wD///8A////AP///wCrq6uWq6ur/6ur + q/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+rq6v/q6ur/6urq/+qqqr/p6en/6en + p/+pqamZq6urAKurqwCrq6sAq6urAKurqwD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP// + /wD///8A////AP///wD///8A/AAAP/AAAA/wAAAH8AAAB/AAAAfwAAAP+AAAH/gAAB/wAAAf4AAAH8AA + AB+AAAAfAAAAHwAAAB8AAAAfAAAAH4AAAB/AAAAf4AAAH/AAAA/4AAAP+AAAD/gAAA/4AAAf+AAAP/gA + AH/4AAD///////////////////////////8= + + + \ No newline at end of file diff --git a/Ogama/Ogama.csproj b/Ogama/Ogama.csproj index 1336b591..94fcac9f 100644 --- a/Ogama/Ogama.csproj +++ b/Ogama/Ogama.csproj @@ -14,7 +14,7 @@ 878A9DFECB151123BEEC507826D111BC0E7CD32E - false + true false false @@ -22,8 +22,16 @@ Resources\Ogama.ico LocalIntranet Ogama.Program - v4.0 - C:\Dokumente und Einstellungen\Adrian\Eigene Dateien\Universitt\Promotion\VSProjects\GMV\SQLGazeAndMouseViewer\publish\ + v4.7.2 + + + 3.5 + + + + + + C:\Users\Pouzivatel\Documents\testbuild\ true Disk false @@ -37,18 +45,13 @@ Gaze and Mouse Viewer Freie Universitaet Berlin false + true 2 1.0.0.%2a false + true true Relative - - - 3.5 - - - - 415c3f62 true @@ -142,17 +145,18 @@ ..\Libs\Managed\DirectShowLib-2005.dll - ..\packages\EntityFramework.6.1.2\lib\net40\EntityFramework.dll - True + ..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll - ..\packages\EntityFramework.6.1.2\lib\net40\EntityFramework.SqlServer.dll - True + ..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll False ..\Libs\Managed\EtApi.dll + + ..\packages\xFFmpeg.NET.3.1.0\lib\netstandard2.0\FFmpeg.NET.dll + ..\Libs\Managed\Haytham.ExtData.dll @@ -160,6 +164,7 @@ False ..\Libs\Managed\Interop.ASLSERIALOUTLIB2Lib.dll + False ..\Libs\Managed\Microsoft.Data.ConnectionUI.dll @@ -216,21 +221,20 @@ 3.5 - - ..\packages\System.Data.SQLite.Core.1.0.96.0\lib\net40\System.Data.SQLite.dll - True + + ..\packages\System.Data.SQLite.Core.1.0.110.0\lib\net46\System.Data.SQLite.dll - - ..\packages\System.Data.SQLite.EF6.1.0.96.0\lib\net40\System.Data.SQLite.EF6.dll - True + + ..\packages\System.Data.SQLite.EF6.1.0.110.0\lib\net46\System.Data.SQLite.EF6.dll - - ..\packages\System.Data.SQLite.Linq.1.0.96.0\lib\net40\System.Data.SQLite.Linq.dll - True + + ..\packages\System.Data.SQLite.Linq.1.0.110.0\lib\net46\System.Data.SQLite.Linq.dll + + @@ -292,6 +296,21 @@ + + Form + + + ProgressForm.cs + + + + Form + + + UXImportDialog.cs + + + Form @@ -1257,6 +1276,12 @@ ConvertDatabaseSplash.cs Designer + + ProgressForm.cs + + + UXImportDialog.cs + HowToActivateAsl.cs @@ -2166,6 +2191,7 @@ True + -
- + - + 3, 0 @@ -237,7 +235,7 @@ 0, 0 - + 0, 0, 192 @@ -423,16 +421,16 @@ NameEdgeFill - + - + - + - + @@ -447,27 +445,31 @@ - + - - + + + + + + - - - - - - - + - - + + - \ No newline at end of file + + + + + + + diff --git a/Ogama/packages.config b/Ogama/packages.config index 44da139c..8c240e19 100644 --- a/Ogama/packages.config +++ b/Ogama/packages.config @@ -1,8 +1,10 @@  - - - - - + + + + + + + \ No newline at end of file