示例#1
0
        void Env_LinkedMonitoredCode(LinkedCode obj)
        {
            dependenciesStore.Clear();
            var q = obj.Types.OrderBy(x => x.Name);

            foreach (var t in q)
            {
                dependenciesStore.AddNode(new DependencyTreeNode(t));
            }
        }
        /// <summary>
        /// Set the widget to its initial state.
        /// </summary>
        public override void ResetState()
        {
            parsingButtonsNB.Page = 0;

            parsingNextButtonsAlign.Sensitive = true;
            parsingProcessBtn.Sensitive       = true;

            parsingShowOutputBtn.Sensitive = false;

            parsingTaskLabel.Markup = "-";

            syntacticalCoverModel.Clear();
            remainingItemsStore.Clear();
        }
        /// <summary>
        /// Establece la imagen inicial para segmentar y reconocer sus
        /// caracteres.
        /// </summary>
        /// <param name="image">
        /// La imagen inicial.
        /// </param>
        private void SetInitialImage(string filename)
        {
            imageOriginal           = new Pixbuf(filename);
            imageAreaOriginal.Image = imageOriginal;
            store.Clear();

            // Generamos el MaxtTextBitmap inical, y lo añadimos como
            // un nodo al arbol.
            MathTextBitmap mtb  = new MathTextBitmap(imageOriginal);
            SegmentedNode  node =
                new SegmentedNode(System.IO.Path.GetFileNameWithoutExtension(filename),
                                  mtb,
                                  treeview);

            store.AddNode(node);

            rootNode = node;

            controller.StartNode = node;

            Log("¡Archivo de imagen «{0}» cargado correctamente!", filename);

            alignNextButtons.Sensitive = true;
            segmentBtn.Sensitive       = true;
            gotoTokenizerBtn.Sensitive = false;
            buttonsNB.Page             = 0;
        }
示例#4
0
        protected void SelectElementTableClicked(object sender, EventArgs e)
        {
            Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Open xstage file.", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
            fc.SetCurrentFolder(settings.GetSettingsFileLocationUri().AbsolutePath);
            FileFilter ff = new FileFilter();

            ff.AddPattern("*.xstage");
            fc.Filter = ff;

            if (fc.Run() == (int)ResponseType.Accept)
            {
                XStageProject        xsp          = XStageProject.Load(fc.Filename);
                List <XStageElement> elementTable = xsp.elements;

                elementTableUrl = fc.Filename;

                nodestore.Clear();
                foreach (XStageElement element in elementTable)
                {
                    Uri elementTableUri       = new Uri(elementTableUrl);
                    Uri elementTableDirectory = new Uri(elementTableUri, ".");

                    foreach (XStageDrawing d in element.drawings)
                    {
                        VectorFilePath vfp = new VectorFilePath();
                        vfp.Path = elementTableDirectory.OriginalString + element.rootFolder + "/" + element.elementFolder + "/" + element.elementName + "-" + d.name + ".tvg";
                        vfp.Name = element.elementName + "-" + d.name;
                        nodestore.AddNode(vfp);
                    }
                }

                Console.WriteLine(xsp.GetXmlString());
            }
            fc.Destroy();
        }
示例#5
0
        public void Initialize(iMetaLibrary.Metadata.TvEpisodeMeta EpisodeMeta)
        {
            this.EpisodeMeta = EpisodeMeta;

            store.Clear();

            ratingwidget1.Value = (int)EpisodeMeta.Rating;

            txtEpisodeName.Text = EpisodeMeta.Title ?? "";
            txtStudio.Text      = EpisodeMeta.Studio ?? "";
            txtPlot.Buffer.Text = EpisodeMeta.Plot ?? "";
            txtMpaa.Text        = EpisodeMeta.Mpaa;
            txtWriters.Text     = String.Join(", ", EpisodeMeta.Writers ?? new string[] { });
            txtDirectors.Text   = String.Join(", ", EpisodeMeta.Directors ?? new string[] { });
            //ctrlRating.CurrentRating = (int)EpisodeMeta.Rating;
            txtAired.Text           = EpisodeMeta.Aired < new DateTime(1850, 1, 1) ? "": EpisodeMeta.Aired.ToString("yyyy-MM-dd");
            txtPremiered.Text       = EpisodeMeta.Premiered < new DateTime(1850, 1, 1) ? "" : EpisodeMeta.Premiered.ToString("yyyy-MM-dd");
            numEpisode.Value        = EpisodeMeta.Episode.CheckRange((int)numEpisode.Adjustment.Lower, (int)numEpisode.Adjustment.Upper);
            numSeason.Value         = EpisodeMeta.Season.CheckRange((int)numSeason.Adjustment.Lower, (int)numSeason.Adjustment.Upper);
            numDisplayEpisode.Value = EpisodeMeta.DisplayEpisode.CheckRange((int)numDisplayEpisode.Adjustment.Lower, (int)numDisplayEpisode.Adjustment.Upper);
            numDisplaySeason.Value  = EpisodeMeta.DisplaySeason.CheckRange((int)numDisplaySeason.Adjustment.Lower, (int)numDisplaySeason.Adjustment.Upper);
            txtEpisodeStart.Text    = new DateTime(new TimeSpan(0, 0, EpisodeMeta.EpBookmark).Ticks).ToString("HH:mm:ss");

            if (EpisodeMeta.Actors != null)
            {
                foreach (var actor in EpisodeMeta.Actors)
                {
                    store.AddNode(new ActorNode()
                    {
                        Name = actor.Key, Role = actor.Value
                    });
                }
            }
        }
示例#6
0
 private void LoadFileList()
 {
     SpawnThread(delegate()
     {
         System.Timers.Timer timer = new System.Timers.Timer(100);
         ProgressBar progress      = new ProgressBar();
         //progress.Fraction = 0.0;
         progress.Orientation = ProgressBarOrientation.LeftToRight;
         timer.Elapsed       += (obj1, obj2) => {
             progress.Pulse();
         };
         Label label = new Label("Please wait...");
         //label.HeightRequest = 160;
         label.WidthRequest = 200;
         Dialog dialog      = new Dialog("Retrieving file list", this, Gtk.DialogFlags.DestroyWithParent);
         dialog.TypeHint    = WindowTypeHint.Splashscreen;
         dialog.Modal       = true;
         dialog.VBox.Add(label);
         dialog.HasSeparator = false;
         dialog.VBox.Add(progress);
         Gtk.Application.Invoke(delegate {
             dialog.ShowAll();
             timer.Start();
         });
         try{
             IBrickFile[] files = brick.FileSystem.FileList();
             Gtk.Application.Invoke(delegate {
                 fileNodeStore.Clear();
                 if (files != null)
                 {
                     foreach (MonoBrick.NXT.BrickFile file in files)
                     {
                         fileNodeStore.AddNode(new FileNode(file));
                     }
                 }
                 EnableFileUserInput();
                 isFileListLoaded = true;
             });
         }
         catch (Exception e) {
             Gtk.Application.Invoke(delegate {
                 timer.Stop();
                 dialog.Destroy();
                 DisableFileUserInput();
                 isFileListLoaded  = false;
                 MessageDialog md  = new MessageDialog(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Close, "\nFailed to get file list");
                 md.Icon           = global::Gdk.Pixbuf.LoadFromResource(MessageDialogIconName);
                 md.WindowPosition = Gtk.WindowPosition.CenterOnParent;
                 md.Run();
                 md.Destroy();
             });
             throw(e);
         }
         Gtk.Application.Invoke(delegate {
             timer.Stop();
             dialog.Destroy();
         });
     });
 }
示例#7
0
 private void RefreshQueueList()
 {
     mQueueNodeStore.Clear();
     for (int i = 0; i < mRenderingQueue.Queue.Length; i++)
     {
         mQueueNodeStore.AddNode(new RenderingTaskTreeNode(mRenderingQueue.Queue[i]));
     }
 }
示例#8
0
        private void ButtonAddParticipant_Clicked(object sender, EventArgs e)
        {
            var models = nodeStoreParticiapnts.OfType <ParticipantModel>();

            if (models.Count() == 1 && models.First().Fake == true)
            {
                nodeStoreParticiapnts.Clear();
            }
            nodeStoreParticiapnts.AddNode(new ParticipantModel {
                Name = "Participant"
            });
        }
示例#9
0
        /// <summary>
        /// Sets the controls to their initial state.
        /// </summary>
        public override void ResetState()
        {
            symbolsModel.Clear();
            sequencesModel.Clear();

            tokenizingButtonsNB.Page = 0;
            tokenizingStepsNB.Page   = 0;

            processBtnLbl.Text = "Secuenciar";

            sequencingFinished = false;

            processBtn.Sensitive   = true;
            nextStageBtn.Sensitive = false;

            tokenizingNextButtonsAlign.Sensitive = true;

            matchingResultLbl.Markup       = "-";
            sequencingStepResultLbl.Markup = "-";

            baselineImageArea.Image         = null;
            sequenceMatchingImageArea.Image = null;
        }
示例#10
0
        private void ButtonAddDecision_Clicked(object sender, EventArgs e)
        {
            var models = nodeStoreDecisions.OfType <DecisionModel>();

            if (models.Count() == 1 && models.First().Fake == true)
            {
                nodeStoreDecisions.Clear();
            }
            nodeStoreDecisions.AddNode(new DecisionModel
            {
                Problem     = "Problem",
                Solution    = "Solution",
                Responsible = "Responsible",
                ControlDate = DateTime.Now.ToString()
            });;
        }
示例#11
0
        /// <summary>
        /// Displays the sequence infos.
        /// </summary>
        private void DisplaySequenceInfos()
        {
            if (pinSequence != null)
            {
                btnRemoveOperation.Sensitive = false;

                nvSequenceOptionsStore.Clear();
                TimeSpan totalTime = new TimeSpan(0);
                for (int i = 0; i < PinSequence.Chain.Count; i++)
                {
                    nvSequenceOptions.NodeStore.AddNode(new SequenceOperationTreeNode(PinSequence.Chain [i], i, totalTime.Ticks));
                    totalTime = totalTime.Add(PinSequence.Chain [i].Duration);
                }
                nvSequenceOptions.QueueDraw();
                DisplayPlot();
            }
        }
 protected void LoadKeyboardPageSettings()
 {
     leftMotorCombobox.SetActiveValue(settings.LeftMotor);
     leftMotorReverseCheckbutton.Active = settings.LeftMotorReverse;
     rightMotorCombobox.SetActiveValue(settings.RightMotor);
     rightMotorReverseCheckbutton.Active    = settings.RightMotorReverse;
     vehicleTurnRatioScale.Adjustment.Value = settings.TurnRatio;
     vehicleSpeedScale.Adjustment.Value     = settings.VehicleSpeed;
     spinSpeedScale.Adjustment.Value        = settings.SpinSpeed;
     motor3Combobox.SetActiveValue(settings.Motor3);
     motor3ReverseCheckbutton.Active   = settings.Motor3Float;
     motor3SpeedScale.Adjustment.Value = settings.Motor3Speed;
     Gtk.Application.Invoke(delegate {
         keyNodeStore.Clear();
         keyNodeStore.AddNode(new KeyNode(KeyCommand.Forward, (Gdk.Key)settings.Forward));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.Backward, (Gdk.Key)settings.Backward));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SpinLeft, (Gdk.Key)settings.SpinLeft));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SpinRight, (Gdk.Key)settings.SpinRight));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.IncVehicleSpeed, (Gdk.Key)settings.IncVehicleSpeed));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.DecVehicleSpeed, (Gdk.Key)settings.DecVehicleSpeed));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.IncSpinSpeed, (Gdk.Key)settings.IncSpinSpeed));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.DecSpinSpeed, (Gdk.Key)settings.DecSpinSpeed));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.IncTurnPercent, (Gdk.Key)settings.IncTurnPercent));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.DecTurnPercent, (Gdk.Key)settings.DecTurnPercent));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.Motor3Fwd, (Gdk.Key)settings.Motor3Fwd));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.Motor3Rev, (Gdk.Key)settings.Motor3Rev));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.IncMotor3Speed, (Gdk.Key)settings.IncMotor3Speed));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.DecMotor3Speed, (Gdk.Key)settings.DecMotor3Speed));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.ReadSensor1, (Gdk.Key)settings.ReadKeySensor1));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.ReadSensor2, (Gdk.Key)settings.ReadKeySensor2));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.ReadSensor3, (Gdk.Key)settings.ReadKeySensor3));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.ReadSensor4, (Gdk.Key)settings.ReadKeySensor4));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SendMessage1, (Gdk.Key)settings.SendMessage1));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SendMessage2, (Gdk.Key)settings.SendMessage2));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SendMessage3, (Gdk.Key)settings.SendMessage3));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SendMessage4, (Gdk.Key)settings.SendMessage4));
         keyNodeStore.AddNode(new KeyNode(KeyCommand.SendMessage5, (Gdk.Key)settings.SendMessage5));
     });
     //This has nothing to do with settings just needs to be called once --- should be placed elsewhere
     doubleClickTimer          = new System.Timers.Timer(50);
     doubleClickTimer.Elapsed += delegate(object o, System.Timers.ElapsedEventArgs elapsedEventArgs) {
         doubleClick = false;
         doubleClickTimer.Stop();
     };
 }
        private void OnUnassistedProcessBtnClicked(object sender, EventArgs args)
        {
            // We try to free memory.
            GC.Collect();
            segmentationStore.Clear();


            MainRecognizerWindow.ProcessItemsSensitive = true;
            unassistedControlHBB.Sensitive             = false;
            unassistedTaskNameLabel.Text = "Segmentación y OCR";

            unassistedGlobalProgressBar.Fraction = 0;

            // We create the image to be recognized.

            Bitmap bitmap = handwritingArea.Bitmap;

            FloatBitmap floatBitmap =
                new FloatBitmap(bitmap.Width, bitmap.Height);

            for (int i = 0; i < bitmap.Width; i++)
            {
                for (int j = 0; j < bitmap.Height; j++)
                {
                    floatBitmap[i, j] = bitmap.GetPixel(i, j).GetBrightness();
                }
            }

            // The original image is set.
            originalImage = floatBitmap.CreatePixbuf();

            MathTextBitmap mtb = new MathTextBitmap(originalImage);

            SegmentedNode node = new SegmentedNode("Raíz",
                                                   mtb,
                                                   null);

            segmentationStore.AddNode(node);

            ocrController.StartNode      = node;
            ocrController.SearchDatabase = false;
            ocrController.Databases      =
                Config.RecognizerConfig.Instance.Databases;
            ocrController.Next(ControllerStepMode.UntilEnd);
        }
        /// <summary>
        /// Sets the image to be processed.
        /// </summary>
        /// <param name="image">
        /// The initial image's path.
        /// </param>
        private void SetInitialImage(string filename)
        {
            segmentationStore.Clear();

            Gdk.Pixbuf imageOriginal = new Gdk.Pixbuf(filename);
            originalImageArea.Image = imageOriginal;


            // Generamos el MaxtTextBitmap inicial, y lo añadimos como
            // un nodo al arbol.
            MathTextBitmap mtb  = new MathTextBitmap(imageOriginal);
            SegmentedNode  node =
                new SegmentedNode(System.IO.Path.GetFileNameWithoutExtension(filename),
                                  mtb,
                                  null);

            segmentationStore.AddNode(node);

            ocrController.StartNode = node;

            Log("¡Archivo de imagen «{0}» cargado correctamente!", filename);

            unassistedProcessBtn.Sensitive = true;
        }
示例#15
0
 /*
  * Limpia el formulario.
  */
 public void ClearForm()
 {
     componentNodeStore.Clear();
 }
示例#16
0
        public ExportListTab(ExportList list, ProjectController projectController, ExportListController controller)
        {
            this.Build();
            this.exportList        = list;
            this.controller        = controller;
            this.projectController = projectController;

            _initNodeStore();
            _setupExportDestinationButton();

            ExportLocationEntry.Text = ((Uri)list.ExportDirectory).OriginalString;

            ExportListNameEntry.Text     = list.Name;
            ExportListNameEntry.Changed += (sender, e) => {
                list.Name = ExportListNameEntry.Text;
            };

            SuffixEntry.Text     = list.Suffix;
            SuffixEntry.Changed += (sender, e) => {
                list.Suffix = SuffixEntry.Text;
            };

            PrefixEntry.Text     = list.Prefix;
            PrefixEntry.Changed += (sender, e) => {
                list.Prefix = PrefixEntry.Text;
            };

            GlobalArgsTxt.Text     = list.Options;
            GlobalArgsTxt.Changed += (sender, e) => {
                list.Options = GlobalArgsTxt.Text;
            };

            ResXEntry.Text     = "" + list.ResolutionX;
            ResXEntry.Changed += (sender, e) => {
                int  parseResult;
                bool parsable = int.TryParse(ResXEntry.Text, out parseResult);
                if (parsable)
                {
                    list.ResolutionX = parseResult;
                }
            };
            ResXEntry.FocusOutEvent += (o, args) => {
                ResXEntry.Text = "" + list.ResolutionX;
            };

            ResYEntry.Text     = "" + list.ResolutionY;
            ResYEntry.Changed += (sender, e) => {
                int  parseResult;
                bool parsable = int.TryParse(ResYEntry.Text, out parseResult);
                if (parsable)
                {
                    list.ResolutionY = parseResult;
                }
            };
            ResYEntry.FocusOutEvent += (o, args) => {
                ResYEntry.Text = "" + list.ResolutionY;
            };

            ListStore formatModel = new ListStore(typeof(string), typeof(ElementExportSettings.CropSetting));

            foreach (object enumVal in Enum.GetValues(typeof(ExportType)))
            {
                formatModel.AppendValues(enumVal.ToString(), enumVal);
            }
            FormatCombo.Model    = formatModel;
            FormatCombo.Active   = (int)list.DefaultExportType;
            FormatCombo.Changed += (sender, e) => {
                list.DefaultExportType = (ExportType)FormatCombo.Active;
            };

            ListStore cropModeModel = new ListStore(typeof(string));

            foreach (object enumVal in Enum.GetValues(typeof(ElementExportSettings.CropSetting)))
            {
                if ((ElementExportSettings.CropSetting)enumVal == ElementExportSettings.CropSetting.Default)
                {
                    continue;
                }
                cropModeModel.AppendValues(enumVal.ToString());
            }

            CropModeCombo.Model    = cropModeModel;
            CropModeCombo.Changed += (sender, e) => {
                TreeIter selected;
                CropModeCombo.GetActiveIter(out selected);
                string selectedValue = (string)cropModeModel.GetValue(selected, 0);
                list.CropSetting = selectedValue;
            };

            //Set combo to current value
            string   initialValue = exportList.CropSetting;
            TreeIter pos;

            //Sets to first entry if next function fails due to invalid value.
            CropModeCombo.Model.GetIterFirst(out pos);
            //Iterates until we find a entry which matches the inital value.
            CropModeCombo.Model.Foreach((model, path, iter) => {
                if (((string)model.GetValue(iter, 0)).Equals(initialValue))
                {
                    pos = iter;
                    return(true);
                }
                else
                {
                    return(false);
                }
            });
            CropModeCombo.SetActiveIter(pos);

            System.Action UpdateAllArtButton = () => {
                LineArtButton.Active   = list.ExportLineArt;
                ColorArtButton.Active  = list.ExportColorArt;
                AllArtButton.Sensitive = !(LineArtButton.Active && ColorArtButton.Active);
                AllArtButton.Active    = (LineArtButton.Active && ColorArtButton.Active);
            };
            UpdateAllArtButton();

            AllArtButton.Clicked += (sender, e) => {
                if (AllArtButton.Active)
                {
                    LineArtButton.Active  = true;
                    ColorArtButton.Active = true;
                    UpdateAllArtButton();
                }
            };

            LineArtButton.Clicked += (sender, e) => {
                list.ExportLineArt = LineArtButton.Active;
                UpdateAllArtButton();
            };

            ColorArtButton.Clicked += (sender, e) => {
                list.ExportColorArt = ColorArtButton.Active;
                UpdateAllArtButton();
            };


            foreach (ElementExportSettings file in list.Elements)
            {
                nodestore.AddNode(file);
            }

            controller.TvgAdded += (activeList) => {
                if (activeList == list)
                {
                    nodestore.Clear();
                    foreach (ElementExportSettings file in list.Elements)
                    {
                        nodestore.AddNode(file);
                    }
                }
            };

            ExportSelectedButton.Clicked += (sender, e) => {
                ITreeNode[] selected = NodeFileList.NodeSelection.SelectedNodes;
                List <ElementExportSettings> tvgs = new List <ElementExportSettings> ();
                foreach (ITreeNode node in selected)
                {
                    tvgs.Add((ElementExportSettings)node);
                }
                if (tvgs.Count > 0)
                {
                    projectController.Export(list, tvgs);
                }
            };

            DeleteExportListButton.Clicked += (sender, e) => {
                projectController.RemoveExportList(exportList);
            };


            RemoveButton.Clicked += (sender, e) => {
                ITreeNode [] selected             = NodeFileList.NodeSelection.SelectedNodes;
                List <ElementExportSettings> tvgs = new List <ElementExportSettings> ();
                foreach (ITreeNode node in selected)
                {
                    tvgs.Add((ElementExportSettings)node);
                }
                foreach (ElementExportSettings tvg in tvgs)
                {
                    controller.RemoveTvg(tvg, exportList);
                }

                //Refresh node store
                nodestore.Clear();
                foreach (ElementExportSettings file in list.Elements)
                {
                    nodestore.AddNode(file);
                }
            };
        }