Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/21/09 20:23:47 (15 years ago)
Author:
gkronber
Message:

Refactored CEDMA dispatcher and CEDMA server view to allow different modeling scenarios for each variable. #754

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs

    r2290 r2375  
    2929      this.inputVariablesLabel = new System.Windows.Forms.Label();
    3030      this.splitContainer = new System.Windows.Forms.SplitContainer();
     31      this.learningTaskGroupBox = new System.Windows.Forms.GroupBox();
     32      this.autoregressiveLabel = new System.Windows.Forms.Label();
     33      this.classificationRadioButton = new System.Windows.Forms.RadioButton();
    3134      this.algorithmsListBox = new System.Windows.Forms.CheckedListBox();
    32       this.algorithmsLabel = new System.Windows.Forms.Label();
     35      this.minTimeOffsetLabel = new System.Windows.Forms.Label();
     36      this.minTimeOffsetTextBox = new System.Windows.Forms.TextBox();
     37      this.maxTimeOffsetLabel = new System.Windows.Forms.Label();
     38      this.regressionRadioButton = new System.Windows.Forms.RadioButton();
     39      this.maxTimeOffsetTextBox = new System.Windows.Forms.TextBox();
     40      this.timeSeriesRadioButton = new System.Windows.Forms.RadioButton();
     41      this.autoregressiveCheckBox = new System.Windows.Forms.CheckBox();
     42      this.partitioningGroupBox = new System.Windows.Forms.GroupBox();
     43      this.validationSamplesEndTextBox = new System.Windows.Forms.TextBox();
     44      this.trainingLabel = new System.Windows.Forms.Label();
     45      this.trainingSamplesStartTextBox = new System.Windows.Forms.TextBox();
     46      this.trainingSamplesEndTextBox = new System.Windows.Forms.TextBox();
     47      this.validationLabel = new System.Windows.Forms.Label();
     48      this.testSamplesEndTextBox = new System.Windows.Forms.TextBox();
     49      this.validationSamplesStartTextBox = new System.Windows.Forms.TextBox();
     50      this.testSamplesStartTextBox = new System.Windows.Forms.TextBox();
     51      this.testLabel = new System.Windows.Forms.Label();
    3352      this.setAllButton = new System.Windows.Forms.Button();
    3453      this.splitContainer.Panel1.SuspendLayout();
    3554      this.splitContainer.Panel2.SuspendLayout();
    3655      this.splitContainer.SuspendLayout();
     56      this.learningTaskGroupBox.SuspendLayout();
     57      this.partitioningGroupBox.SuspendLayout();
    3758      this.SuspendLayout();
    3859      //
     
    4465      this.targetVariableList.FormattingEnabled = true;
    4566      this.targetVariableList.HorizontalScrollbar = true;
    46       this.targetVariableList.Location = new System.Drawing.Point(6, 181);
     67      this.targetVariableList.Location = new System.Drawing.Point(3, 16);
    4768      this.targetVariableList.Name = "targetVariableList";
    48       this.targetVariableList.Size = new System.Drawing.Size(193, 289);
     69      this.targetVariableList.Size = new System.Drawing.Size(346, 214);
    4970      this.targetVariableList.TabIndex = 0;
    5071      this.targetVariableList.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.targetVariableList_ItemCheck);
     
    6081      this.inputVariableList.Location = new System.Drawing.Point(2, 16);
    6182      this.inputVariableList.Name = "inputVariableList";
    62       this.inputVariableList.Size = new System.Drawing.Size(221, 439);
     83      this.inputVariableList.Size = new System.Drawing.Size(393, 634);
    6384      this.inputVariableList.TabIndex = 1;
    6485      this.inputVariableList.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.inputVariableList_ItemCheck);
     
    6788      //
    6889      this.targetVariablesLabel.AutoSize = true;
    69       this.targetVariablesLabel.Location = new System.Drawing.Point(3, 165);
     90      this.targetVariablesLabel.Location = new System.Drawing.Point(0, 0);
    7091      this.targetVariablesLabel.Name = "targetVariablesLabel";
    7192      this.targetVariablesLabel.Size = new System.Drawing.Size(86, 13);
     
    90111      // splitContainer.Panel1
    91112      //
    92       this.splitContainer.Panel1.Controls.Add(this.algorithmsListBox);
    93       this.splitContainer.Panel1.Controls.Add(this.algorithmsLabel);
     113      this.splitContainer.Panel1.Controls.Add(this.learningTaskGroupBox);
     114      this.splitContainer.Panel1.Controls.Add(this.partitioningGroupBox);
    94115      this.splitContainer.Panel1.Controls.Add(this.targetVariablesLabel);
    95116      this.splitContainer.Panel1.Controls.Add(this.targetVariableList);
     
    100121      this.splitContainer.Panel2.Controls.Add(this.inputVariablesLabel);
    101122      this.splitContainer.Panel2.Controls.Add(this.inputVariableList);
    102       this.splitContainer.Size = new System.Drawing.Size(429, 482);
    103       this.splitContainer.SplitterDistance = 202;
     123      this.splitContainer.Size = new System.Drawing.Size(754, 688);
     124      this.splitContainer.SplitterDistance = 355;
    104125      this.splitContainer.SplitterWidth = 1;
    105126      this.splitContainer.TabIndex = 4;
    106127      //
     128      // learningTaskGroupBox
     129      //
     130      this.learningTaskGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     131      this.learningTaskGroupBox.Controls.Add(this.autoregressiveLabel);
     132      this.learningTaskGroupBox.Controls.Add(this.classificationRadioButton);
     133      this.learningTaskGroupBox.Controls.Add(this.algorithmsListBox);
     134      this.learningTaskGroupBox.Controls.Add(this.minTimeOffsetLabel);
     135      this.learningTaskGroupBox.Controls.Add(this.minTimeOffsetTextBox);
     136      this.learningTaskGroupBox.Controls.Add(this.maxTimeOffsetLabel);
     137      this.learningTaskGroupBox.Controls.Add(this.regressionRadioButton);
     138      this.learningTaskGroupBox.Controls.Add(this.maxTimeOffsetTextBox);
     139      this.learningTaskGroupBox.Controls.Add(this.timeSeriesRadioButton);
     140      this.learningTaskGroupBox.Controls.Add(this.autoregressiveCheckBox);
     141      this.learningTaskGroupBox.Enabled = false;
     142      this.learningTaskGroupBox.Location = new System.Drawing.Point(6, 236);
     143      this.learningTaskGroupBox.Name = "learningTaskGroupBox";
     144      this.learningTaskGroupBox.Size = new System.Drawing.Size(343, 321);
     145      this.learningTaskGroupBox.TabIndex = 36;
     146      this.learningTaskGroupBox.TabStop = false;
     147      this.learningTaskGroupBox.Text = "Learning task";
     148      //
     149      // autoregressiveLabel
     150      //
     151      this.autoregressiveLabel.AutoSize = true;
     152      this.autoregressiveLabel.Enabled = false;
     153      this.autoregressiveLabel.Location = new System.Drawing.Point(45, 83);
     154      this.autoregressiveLabel.Name = "autoregressiveLabel";
     155      this.autoregressiveLabel.Size = new System.Drawing.Size(80, 13);
     156      this.autoregressiveLabel.TabIndex = 35;
     157      this.autoregressiveLabel.Text = "Autoregressive:";
     158      //
     159      // classificationRadioButton
     160      //
     161      this.classificationRadioButton.AutoSize = true;
     162      this.classificationRadioButton.Location = new System.Drawing.Point(6, 16);
     163      this.classificationRadioButton.Name = "classificationRadioButton";
     164      this.classificationRadioButton.Size = new System.Drawing.Size(86, 17);
     165      this.classificationRadioButton.TabIndex = 28;
     166      this.classificationRadioButton.Text = "Classification";
     167      this.classificationRadioButton.UseVisualStyleBackColor = true;
     168      this.classificationRadioButton.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
     169      //
    107170      // algorithmsListBox
    108171      //
    109       this.algorithmsListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     172      this.algorithmsListBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     173                  | System.Windows.Forms.AnchorStyles.Left)
    110174                  | System.Windows.Forms.AnchorStyles.Right)));
     175      this.algorithmsListBox.Enabled = false;
    111176      this.algorithmsListBox.FormattingEnabled = true;
    112177      this.algorithmsListBox.HorizontalScrollbar = true;
    113       this.algorithmsListBox.Location = new System.Drawing.Point(6, 16);
     178      this.algorithmsListBox.Location = new System.Drawing.Point(6, 155);
    114179      this.algorithmsListBox.Name = "algorithmsListBox";
    115       this.algorithmsListBox.Size = new System.Drawing.Size(193, 139);
     180      this.algorithmsListBox.Size = new System.Drawing.Size(331, 154);
    116181      this.algorithmsListBox.TabIndex = 4;
    117182      this.algorithmsListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.algorithmsListBox_ItemCheck);
    118183      //
    119       // algorithmsLabel
    120       //
    121       this.algorithmsLabel.AutoSize = true;
    122       this.algorithmsLabel.Location = new System.Drawing.Point(3, 0);
    123       this.algorithmsLabel.Name = "algorithmsLabel";
    124       this.algorithmsLabel.Size = new System.Drawing.Size(58, 13);
    125       this.algorithmsLabel.TabIndex = 3;
    126       this.algorithmsLabel.Text = "Algorithms:";
     184      // minTimeOffsetLabel
     185      //
     186      this.minTimeOffsetLabel.AutoSize = true;
     187      this.minTimeOffsetLabel.Enabled = false;
     188      this.minTimeOffsetLabel.Location = new System.Drawing.Point(38, 106);
     189      this.minTimeOffsetLabel.Name = "minTimeOffsetLabel";
     190      this.minTimeOffsetLabel.Size = new System.Drawing.Size(87, 13);
     191      this.minTimeOffsetLabel.TabIndex = 31;
     192      this.minTimeOffsetLabel.Text = "Min. Time Offset:";
     193      //
     194      // minTimeOffsetTextBox
     195      //
     196      this.minTimeOffsetTextBox.Enabled = false;
     197      this.minTimeOffsetTextBox.Location = new System.Drawing.Point(131, 103);
     198      this.minTimeOffsetTextBox.Name = "minTimeOffsetTextBox";
     199      this.minTimeOffsetTextBox.Size = new System.Drawing.Size(96, 20);
     200      this.minTimeOffsetTextBox.TabIndex = 32;
     201      this.minTimeOffsetTextBox.Validated += new System.EventHandler(this.timeOffsetTextBox_Validated);
     202      this.minTimeOffsetTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.timeOffsetTextBox_Validating);
     203      //
     204      // maxTimeOffsetLabel
     205      //
     206      this.maxTimeOffsetLabel.AutoSize = true;
     207      this.maxTimeOffsetLabel.Enabled = false;
     208      this.maxTimeOffsetLabel.Location = new System.Drawing.Point(35, 132);
     209      this.maxTimeOffsetLabel.Name = "maxTimeOffsetLabel";
     210      this.maxTimeOffsetLabel.Size = new System.Drawing.Size(90, 13);
     211      this.maxTimeOffsetLabel.TabIndex = 33;
     212      this.maxTimeOffsetLabel.Text = "Max. Time Offset:";
     213      //
     214      // regressionRadioButton
     215      //
     216      this.regressionRadioButton.AutoSize = true;
     217      this.regressionRadioButton.Location = new System.Drawing.Point(6, 39);
     218      this.regressionRadioButton.Name = "regressionRadioButton";
     219      this.regressionRadioButton.Size = new System.Drawing.Size(78, 17);
     220      this.regressionRadioButton.TabIndex = 29;
     221      this.regressionRadioButton.Text = "Regression";
     222      this.regressionRadioButton.UseVisualStyleBackColor = true;
     223      this.regressionRadioButton.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
     224      //
     225      // maxTimeOffsetTextBox
     226      //
     227      this.maxTimeOffsetTextBox.Enabled = false;
     228      this.maxTimeOffsetTextBox.Location = new System.Drawing.Point(131, 129);
     229      this.maxTimeOffsetTextBox.Name = "maxTimeOffsetTextBox";
     230      this.maxTimeOffsetTextBox.Size = new System.Drawing.Size(96, 20);
     231      this.maxTimeOffsetTextBox.TabIndex = 34;
     232      this.maxTimeOffsetTextBox.Validated += new System.EventHandler(this.timeOffsetTextBox_Validated);
     233      this.maxTimeOffsetTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.timeOffsetTextBox_Validating);
     234      //
     235      // timeSeriesRadioButton
     236      //
     237      this.timeSeriesRadioButton.AutoSize = true;
     238      this.timeSeriesRadioButton.Location = new System.Drawing.Point(6, 62);
     239      this.timeSeriesRadioButton.Name = "timeSeriesRadioButton";
     240      this.timeSeriesRadioButton.Size = new System.Drawing.Size(119, 17);
     241      this.timeSeriesRadioButton.TabIndex = 30;
     242      this.timeSeriesRadioButton.Text = "Time series forecast";
     243      this.timeSeriesRadioButton.UseVisualStyleBackColor = true;
     244      this.timeSeriesRadioButton.CheckedChanged += new System.EventHandler(this.radioButton_CheckedChanged);
     245      //
     246      // autoregressiveCheckBox
     247      //
     248      this.autoregressiveCheckBox.Anchor = System.Windows.Forms.AnchorStyles.Top;
     249      this.autoregressiveCheckBox.AutoSize = true;
     250      this.autoregressiveCheckBox.Enabled = false;
     251      this.autoregressiveCheckBox.Location = new System.Drawing.Point(139, 83);
     252      this.autoregressiveCheckBox.Name = "autoregressiveCheckBox";
     253      this.autoregressiveCheckBox.Size = new System.Drawing.Size(15, 14);
     254      this.autoregressiveCheckBox.TabIndex = 22;
     255      this.autoregressiveCheckBox.UseVisualStyleBackColor = true;
     256      this.autoregressiveCheckBox.CheckedChanged += new System.EventHandler(this.autoregressiveCheckBox_CheckedChanged);
     257      //
     258      // partitioningGroupBox
     259      //
     260      this.partitioningGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     261      this.partitioningGroupBox.Controls.Add(this.validationSamplesEndTextBox);
     262      this.partitioningGroupBox.Controls.Add(this.trainingLabel);
     263      this.partitioningGroupBox.Controls.Add(this.trainingSamplesStartTextBox);
     264      this.partitioningGroupBox.Controls.Add(this.trainingSamplesEndTextBox);
     265      this.partitioningGroupBox.Controls.Add(this.validationLabel);
     266      this.partitioningGroupBox.Controls.Add(this.testSamplesEndTextBox);
     267      this.partitioningGroupBox.Controls.Add(this.validationSamplesStartTextBox);
     268      this.partitioningGroupBox.Controls.Add(this.testSamplesStartTextBox);
     269      this.partitioningGroupBox.Controls.Add(this.testLabel);
     270      this.partitioningGroupBox.Enabled = false;
     271      this.partitioningGroupBox.Location = new System.Drawing.Point(6, 563);
     272      this.partitioningGroupBox.Name = "partitioningGroupBox";
     273      this.partitioningGroupBox.Size = new System.Drawing.Size(343, 122);
     274      this.partitioningGroupBox.TabIndex = 26;
     275      this.partitioningGroupBox.TabStop = false;
     276      this.partitioningGroupBox.Text = "Data set partitions:";
     277      //
     278      // validationSamplesEndTextBox
     279      //
     280      this.validationSamplesEndTextBox.Location = new System.Drawing.Point(221, 43);
     281      this.validationSamplesEndTextBox.Name = "validationSamplesEndTextBox";
     282      this.validationSamplesEndTextBox.Size = new System.Drawing.Size(96, 20);
     283      this.validationSamplesEndTextBox.TabIndex = 13;
     284      this.validationSamplesEndTextBox.Validated += new System.EventHandler(this.samplesTextBox_Validated);
     285      this.validationSamplesEndTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.samplesTextBox_Validating);
     286      //
     287      // trainingLabel
     288      //
     289      this.trainingLabel.AutoSize = true;
     290      this.trainingLabel.Location = new System.Drawing.Point(13, 20);
     291      this.trainingLabel.Name = "trainingLabel";
     292      this.trainingLabel.Size = new System.Drawing.Size(89, 13);
     293      this.trainingLabel.TabIndex = 3;
     294      this.trainingLabel.Text = "Training samples:";
     295      //
     296      // trainingSamplesStartTextBox
     297      //
     298      this.trainingSamplesStartTextBox.Location = new System.Drawing.Point(119, 17);
     299      this.trainingSamplesStartTextBox.Name = "trainingSamplesStartTextBox";
     300      this.trainingSamplesStartTextBox.Size = new System.Drawing.Size(96, 20);
     301      this.trainingSamplesStartTextBox.TabIndex = 4;
     302      this.trainingSamplesStartTextBox.Validated += new System.EventHandler(this.samplesTextBox_Validated);
     303      this.trainingSamplesStartTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.samplesTextBox_Validating);
     304      //
     305      // trainingSamplesEndTextBox
     306      //
     307      this.trainingSamplesEndTextBox.Location = new System.Drawing.Point(221, 17);
     308      this.trainingSamplesEndTextBox.Name = "trainingSamplesEndTextBox";
     309      this.trainingSamplesEndTextBox.Size = new System.Drawing.Size(96, 20);
     310      this.trainingSamplesEndTextBox.TabIndex = 10;
     311      this.trainingSamplesEndTextBox.Validated += new System.EventHandler(this.samplesTextBox_Validated);
     312      this.trainingSamplesEndTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.samplesTextBox_Validating);
     313      //
     314      // validationLabel
     315      //
     316      this.validationLabel.AutoSize = true;
     317      this.validationLabel.Location = new System.Drawing.Point(5, 46);
     318      this.validationLabel.Name = "validationLabel";
     319      this.validationLabel.Size = new System.Drawing.Size(97, 13);
     320      this.validationLabel.TabIndex = 11;
     321      this.validationLabel.Text = "Validation samples:";
     322      //
     323      // testSamplesEndTextBox
     324      //
     325      this.testSamplesEndTextBox.Location = new System.Drawing.Point(221, 68);
     326      this.testSamplesEndTextBox.Name = "testSamplesEndTextBox";
     327      this.testSamplesEndTextBox.Size = new System.Drawing.Size(96, 20);
     328      this.testSamplesEndTextBox.TabIndex = 16;
     329      this.testSamplesEndTextBox.Validated += new System.EventHandler(this.samplesTextBox_Validated);
     330      this.testSamplesEndTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.samplesTextBox_Validating);
     331      //
     332      // validationSamplesStartTextBox
     333      //
     334      this.validationSamplesStartTextBox.Location = new System.Drawing.Point(119, 43);
     335      this.validationSamplesStartTextBox.Name = "validationSamplesStartTextBox";
     336      this.validationSamplesStartTextBox.Size = new System.Drawing.Size(96, 20);
     337      this.validationSamplesStartTextBox.TabIndex = 12;
     338      this.validationSamplesStartTextBox.Validated += new System.EventHandler(this.samplesTextBox_Validated);
     339      this.validationSamplesStartTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.samplesTextBox_Validating);
     340      //
     341      // testSamplesStartTextBox
     342      //
     343      this.testSamplesStartTextBox.Location = new System.Drawing.Point(119, 68);
     344      this.testSamplesStartTextBox.Name = "testSamplesStartTextBox";
     345      this.testSamplesStartTextBox.Size = new System.Drawing.Size(96, 20);
     346      this.testSamplesStartTextBox.TabIndex = 15;
     347      this.testSamplesStartTextBox.Validated += new System.EventHandler(this.samplesTextBox_Validated);
     348      this.testSamplesStartTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.samplesTextBox_Validating);
     349      //
     350      // testLabel
     351      //
     352      this.testLabel.AutoSize = true;
     353      this.testLabel.Location = new System.Drawing.Point(30, 71);
     354      this.testLabel.Name = "testLabel";
     355      this.testLabel.Size = new System.Drawing.Size(72, 13);
     356      this.testLabel.TabIndex = 14;
     357      this.testLabel.Text = "Test samples:";
    127358      //
    128359      // setAllButton
    129360      //
    130361      this.setAllButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    131       this.setAllButton.Location = new System.Drawing.Point(3, 456);
     362      this.setAllButton.Location = new System.Drawing.Point(3, 662);
    132363      this.setAllButton.Name = "setAllButton";
    133364      this.setAllButton.Size = new System.Drawing.Size(91, 23);
     
    143374      this.Controls.Add(this.splitContainer);
    144375      this.Name = "DispatcherView";
    145       this.Size = new System.Drawing.Size(429, 482);
     376      this.Size = new System.Drawing.Size(754, 688);
    146377      this.splitContainer.Panel1.ResumeLayout(false);
    147378      this.splitContainer.Panel1.PerformLayout();
     
    149380      this.splitContainer.Panel2.PerformLayout();
    150381      this.splitContainer.ResumeLayout(false);
     382      this.learningTaskGroupBox.ResumeLayout(false);
     383      this.learningTaskGroupBox.PerformLayout();
     384      this.partitioningGroupBox.ResumeLayout(false);
     385      this.partitioningGroupBox.PerformLayout();
    151386      this.ResumeLayout(false);
    152387
     
    162397    private System.Windows.Forms.Button setAllButton;
    163398    private System.Windows.Forms.CheckedListBox algorithmsListBox;
    164     private System.Windows.Forms.Label algorithmsLabel;
     399    private System.Windows.Forms.GroupBox partitioningGroupBox;
     400    private System.Windows.Forms.TextBox validationSamplesEndTextBox;
     401    private System.Windows.Forms.Label trainingLabel;
     402    private System.Windows.Forms.TextBox trainingSamplesStartTextBox;
     403    private System.Windows.Forms.TextBox trainingSamplesEndTextBox;
     404    private System.Windows.Forms.Label validationLabel;
     405    private System.Windows.Forms.TextBox testSamplesEndTextBox;
     406    private System.Windows.Forms.TextBox validationSamplesStartTextBox;
     407    private System.Windows.Forms.TextBox testSamplesStartTextBox;
     408    private System.Windows.Forms.Label testLabel;
     409    private System.Windows.Forms.GroupBox learningTaskGroupBox;
     410    private System.Windows.Forms.Label autoregressiveLabel;
     411    private System.Windows.Forms.RadioButton classificationRadioButton;
     412    private System.Windows.Forms.Label minTimeOffsetLabel;
     413    private System.Windows.Forms.TextBox minTimeOffsetTextBox;
     414    private System.Windows.Forms.Label maxTimeOffsetLabel;
     415    private System.Windows.Forms.RadioButton regressionRadioButton;
     416    private System.Windows.Forms.TextBox maxTimeOffsetTextBox;
     417    private System.Windows.Forms.RadioButton timeSeriesRadioButton;
     418    private System.Windows.Forms.CheckBox autoregressiveCheckBox;
    165419  }
    166420}
Note: See TracChangeset for help on using the changeset viewer.