private void updateDustBox()
 {
     listBoxDustBox.Items.Clear();
     _dustBoxTitleAndPath.Clear();
     if (_isSavePathSet)
     {
         string   dir      = SequenceViewerController.GetStateDataDirectoryPath(dialogSaveState.FileName, true);
         string[] txtFiles = Directory.GetFiles(dir, "*" + SequenceData.DefaultExtensionForHeader);
         foreach (string txtFile in txtFiles)
         {
             string basename   = Path.GetFileNameWithoutExtension(txtFile);
             string valuesFile = Path.Combine(dir, basename + SequenceData.DefaultExtensionForValues);
             string borderFile = Path.Combine(dir, basename + SequenceData.DefaultExtensionForBorder);
             string viewerFile = Path.Combine(dir, basename + SequenceView.DefaultExtension);
             if (File.Exists(valuesFile) && File.Exists(borderFile) && File.Exists(viewerFile))
             {
                 string title;
                 using (FileStream stream = new FileStream(txtFile, FileMode.Open)) {
                     SequenceData tmp = new SequenceData();
                     tmp.RetrieveDataHeader(stream);
                     title = tmp.Title;
                 }
                 if (null == _viewerController.GetSequenceByTitle(title))
                 {
                     listBoxDustBox.Items.Add(title);
                     _dustBoxTitleAndPath[title] = txtFile;
                 }
             }
         }
     }
     listBoxDustBox.SelectedIndices.Clear();
 }
        /// <summary>
        /// ビューア群を所有するコントローラを割り当てます。
        /// </summary>
        /// <param title="controller">ビューア群を所有するコントローラ</param>
        /// <param title="conditionToShowOnList">表示するビューアをリストに表示する条件</param>
        public void AttachController(SequenceViewerController controller, Func <SequenceView, bool> conditionToShowOnList)
        {
            var prevSequences = this.SelectedItems;

            _controller      = controller;
            _conditionToShow = conditionToShowOnList;
            if (_controller != null)
            {
                listLabelSequence.SuspendLayout();
                listLabelSequence.Items.Clear();
                listLabelSequence.SelectedIndices.Clear();
                var viewers = _controller.GetViewList();
                int count   = 0;
                int index   = 0;
                foreach (var viewer in viewers)
                {
                    if (_conditionToShow(viewer))
                    {
                        listLabelSequence.Items.Add(viewer.Sequence.Title);
                        if (prevSequences.Select(p => p.Title).Contains(viewer.Sequence.Title))
                        {
                            listLabelSequence.SelectedIndices.Add(index);
                        }
                        index++;
                    }
                    count++;
                }
                listLabelSequence.ResumeLayout();
            }
        }
Exemplo n.º 3
0
 public DialogCloseSequenceViewers(SequenceViewerController controller)
 {
     if (controller == null)
     {
         throw new ArgumentNullException("controller", "'controller' cannot be null");
     }
     InitializeComponent();
     _controller = controller;
 }
 /// <summary>
 /// 既定のコンストラクタ
 /// </summary>
 /// <param title="controller">コントローラ</param>
 /// <param title="current">選択されたシーケンス</param>
 public SequenceProcEnv(SequenceViewerController controller, SequenceData selected)
 {
     if (controller == null)
     {
         throw new ArgumentNullException("controller", "'controller' cannot be null");
     }
     _controller       = controller;
     _selectedSequence = selected;
 }
        /// <summary>
        /// 既定のコンストラクタ
        /// </summary>
        /// <param title="controller">コントローラ</param>
        /// <param title="current">選択されたシーケンス</param>
        public SequenceProcEnv(SequenceViewerController controller)
            : this(controller, null)
        {
            SequenceView tmp = controller.GetFocusedView();

            if (tmp != null)
            {
                _selectedSequence = tmp.Sequence;
            }
        }
 public OperationExecution(ISequenceOperation operation, SequenceViewerController controller, SequenceData current)
 {
     if (operation == null)
     {
         throw new ArgumentNullException("operation", "'operation' cannot be null");
     }
     _operation  = operation;
     _controller = controller;
     _current    = current;
 }
        public ScriptVariable Call(IList <ScriptVariable> args, SequenceViewerController controller)
        {
            string       title = args[0].ToString();
            SequenceView view  = controller.GetViewByTitle(title);

            if (view == null)
            {
                return(null);
            }
            return(new ListVariable(view.Sequence.Values.EnumerateTime().Select(v => new NumberVariable(v))));
        }
        private SequenceViewerForm()
        {
            MotionDataUtilSettings.Singleton.Initialize();

            InitializeComponent();

            _viewerController = SequenceViewerController.Singleton;
            ScriptConsole.Singleton.ParentControl      = this;
            ScriptConsole.Singleton.SequenceController = _viewerController;
            this.Disposed   += new EventHandler(TimeValueSequenceForm_Disposed);
            _formInitialized = true;
        }
 public DialogSequenceOperation(ISequenceOperation ope, SequenceViewerController controller, SequenceData current, IList <ProcParam <SequenceProcEnv> > paramList)
 {
     InitializeComponent();
     _operator            = new Operation.OperationExecution(ope, controller, current);
     _operator.Parameters = paramList;
     panelSub             = _operator.GetPanel();
     panelSub.Dock        = DockStyle.Fill;
     panelMain.Controls.Add(panelSub);
     this.Text = ope.GetTitle();
     this.textSelected.Text = current.Title;
     textExplain.Text       = ope.GetDescription();
 }
        public ScriptVariable Call(IList <ScriptVariable> args, SequenceViewerController controller)
        {
            string       title     = args[0].ToString();
            decimal      beginTime = args[1].ToNumber();
            string       label     = args[2].ToString();
            SequenceView viewer    = controller.GetViewByTitle(title);

            if (viewer == null)
            {
                return(new BooleanVariable(false));
            }
            viewer.Sequence.SetLabelAt(beginTime, label);
            return(new BooleanVariable(true));
        }
        public ScriptVariable Call(IList <ScriptVariable> args, SequenceViewerController controller)
        {
            string       title = args[0].ToString();
            SequenceView view  = controller.GetViewByTitle(title);

            if (view == null)
            {
                return(null);
            }
            if (args.Count < 2 || args[1].IsNull())
            {
                List <ListVariable> ret = new List <ListVariable>();
                foreach (var pair in view.Sequence.Values.Enumerate())
                {
                    ret.Add(new ListVariable(pair.Value.Select(v => v.HasValue ? new NumberVariable(v.Value) : null)));
                }
                return(new ListVariable(ret));
            }
            else
            {
                IList <ScriptVariable> list = args[1].ToList();
                if (list != null)
                {
                    int[] indices           = list.Select(p => Convert.ToInt32(p.ToNumber())).ToArray();
                    List <ListVariable> ret = new List <ListVariable>();
                    foreach (var pair in view.Sequence.Values.Enumerate())
                    {
                        List <NumberVariable> numbers = new List <NumberVariable>();
                        foreach (int index in indices)
                        {
                            decimal?value = pair.Value[index];
                            numbers.Add(value.HasValue ? new NumberVariable(value.Value) : null);
                        }
                        ret.Add(new ListVariable(numbers));
                    }
                    return(new ListVariable(ret));
                }
                else
                {
                    int index = Convert.ToInt32(args[1].ToNumber());
                    List <NumberVariable> ret = new List <NumberVariable>();
                    foreach (var pair in view.Sequence.Values.Enumerate())
                    {
                        decimal?value = pair.Value[index];
                        ret.Add(value.HasValue ? new NumberVariable(value.Value) : null);
                    }
                    return(new ListVariable(ret));
                }
            }
        }
        public ScriptVariable Call(IList <ScriptVariable> args, SequenceViewerController controller)
        {
            string       title  = args[0].ToString();
            decimal      lower  = args[1].ToNumber();
            decimal      upper  = args[2].ToNumber();
            string       label  = args[3].ToString();
            SequenceView viewer = controller.GetViewByTitle(title);

            if (viewer == null)
            {
                return(new BooleanVariable(false));
            }
            viewer.Sequence.Borders.SetBorderRange(lower, upper, label);
            return(new BooleanVariable(true));
        }
        private void toolStripMenuItem1_DropDownOpening(object sender, EventArgs e)
        {
            SequenceViewerController controller = _viewerController;

            if (controller == null)
            {
                return;
            }
            SequenceView focusedView = controller.GetFocusedView();

            if (focusedView == null)
            {
                menuLastOperation.Enabled        = false;
                menuOperateLabelSequence.Enabled = false;
                menuOperateValueSequence.Enabled = false;
                return;
            }
            if (controller.LastOperation != null)
            {
                bool labelMode = (controller.LastOperation.OperationTargetType & SequenceType.Label) != 0 && focusedView.Type != SequenceType.Numeric;
                bool valueMode = (controller.LastOperation.OperationTargetType & SequenceType.Numeric) != 0 && focusedView.Type != SequenceType.Label;
                if (labelMode || valueMode)
                {
                    menuLastOperation.DropDown.Items.Clear();
                    foreach (var item in controller.GetLastOperationToolStripItems())
                    {
                        menuLastOperation.DropDown.Items.Add(item);
                    }
                    menuLastOperation.Enabled = true;
                }
                else
                {
                    menuLastOperation.Enabled = false;
                }
            }
            else
            {
                menuLastOperation.Enabled = false;
            }

            if (focusedView.Type != SequenceType.Numeric)
            {
                menuOperateLabelSequence.DropDownItems.Clear();
                foreach (var item in controller.GetOperationToolStripItems(SequenceType.Label))
                {
                    menuOperateLabelSequence.DropDownItems.Add(item);
                }
                menuOperateLabelSequence.Enabled = true;
            }
            else
            {
                menuOperateLabelSequence.Enabled = false;
            }
            if (focusedView.Type != SequenceType.Label)
            {
                menuOperateValueSequence.DropDownItems.Clear();
                foreach (var item in controller.GetOperationToolStripItems(SequenceType.Numeric))
                {
                    menuOperateValueSequence.DropDownItems.Add(item);
                }
                menuOperateValueSequence.Enabled = true;
            }
            else
            {
                menuOperateValueSequence.Enabled = false;
            }
        }
Exemplo n.º 14
0
 public static void Invoke(Control parentControl, SequenceViewerController controller, IViewerFunction operation, params ScriptVariable[] args)
 {
     Invoke(parentControl, controller, operation, (IList <ScriptVariable>)args);
 }
Exemplo n.º 15
0
 public static void Invoke(Control parentControl, SequenceViewerController controller, IViewerFunction operation, IList <ScriptVariable> args)
 {
     ScriptConsole.Singleton.Invoke(new ViewerFunctionScriptFunction(operation), args);
 }
 public DialogSequenceOperation(ISequenceOperation ope, SequenceViewerController controller, SequenceData current)
     : this(ope, controller, current, null)
 {
 }
 public void DetachController()
 {
     _controller = null;
 }
 public void AttachController(SequenceViewerController controller)
 {
     AttachController(controller, x => true);
 }
Exemplo n.º 19
0
 public void AttachController(SequenceViewerController controller)
 {
     _controller = controller;
     labelSequenceSelectControl1.AttachController(_controller, v => v.Type != SequenceType.Numeric);
 }