public SessionVisual(ElementSpace space, TheoryTree tree, Session session)
        {
            mod = Session.Mods.Basic;

            InitializeComponent();
            canvas = space;
            this.tree = tree;
            this.session = session;

            space.ElementsFocused += new Protsenko.TheoryEditor.Core.Events.Focused(space_ElementFocused);
            Grid.SetColumn(canvas, 0); Grid.SetColumnSpan(canvas,2);

            maingrid.Children.Add(canvas);

            Updated += new Protsenko.TheoryEditor.Core.Events.Updated(SessionVisual_Updated);
        }
        public TheoryImporterPanel(TheoryTree tree, Session session)
        {
            InitializeComponent();
            this.tree = tree;
            this.session = session;

            MenuItem item;
            foreach(TheoryTypes type in TheoryTypesClass.GetTypes())
            {
                item = new MenuItem();
                item.Name = type.ToString();
                item.Click += new RoutedEventHandler(item_Click);
                cm.Items.Add(item);
            }

            browser = new WebBrowser();

            LanguageResource.Updated +=new Protsenko.TheoryEditor.Core.Events.Updated(LanguageResource_Updated);
            LanguageResource_Updated("");
        }
        public CreateElementPanel(ITheoryElement element, List<ITheoryElement> basis, Core.Session session, TheoryTree tree)
        {
            InitializeComponent();
            this.element = element;
            this.basis = basis;
            this.currentSession = session;
            this.type = element.GetTheoryType();
            this.tree = tree;

            TheoryTypeBox.Text = type.ToString();
            LinksItemBox.ItemsSource = basis;
            FormulationTextBox.Text = element.Formulation;
            TemplateTextBox.Text = element.Template;
            if (element is Theorem)
                ProofTextBox.Text = ((Theorem)element).Proof;
            mod = Mods.Edit;
            LanguageResource.Updated += new Updated(LanguageResource_Updated);
            Update();
            LanguageResource_Updated(null);
        }
示例#4
0
        public Session(UIElement parent, string name, ConstructorMods mod)
        {
            Name = name;
            if (mod == ConstructorMods.New)
            {
                tree = new TheoryTree();
            }
            else if (mod == ConstructorMods.Load)
            {
                try
                {
                    Microsoft.Win32.OpenFileDialog filedialog = new Microsoft.Win32.OpenFileDialog();
                    filedialog.InitialDirectory = SaveLoad.currentFoldierPath;
                    filedialog.DefaultExt = SaveLoad.fileExtension;
                    filedialog.ShowDialog();

                    object loadedObject = null;
                    SaveLoad.LoadData(filedialog.SafeFileName, out loadedObject);
                    tree = (TheoryTree)loadedObject;
                }
                catch (Exception e)
                {
                    exceptionHandler.Add(e);
                    tree = new TheoryTree();
                }
            }

            treeController = new TheoryTreeController(tree);
            elementspace = new ElementSpace(tree, treeController, this);
            visualRepresentation = new SessionVisual(elementspace,tree,this);

            if (parent is DockPanel)
            {
                DockPanel panel = (DockPanel)parent;
                panel.Children.Add(visualRepresentation);
            }
            elementspace = visualRepresentation.GetElementSpace();
        }
        //***************************Element Space***************************************************************************************************************************************************************************
        public ElementSpace(TheoryTree tree, TheoryTreeController treeController, Session session)
        {
            InitializeComponent();
            allocator = new ElementAllocator(Children,this);
            //arrows = new Arrows(this);
            this.session = session;
            this.tree = tree;
            this.treeController = treeController;
            this.tree.ContentUpdated += new Protsenko.TheoryEditor.Core.Events.ContentUpdated(tree_ContentUpdated);
            focusedObjects = new List<TheoryVisualDecorator>();

            this.MouseRightButtonUp += new MouseButtonEventHandler(CanvasMy_MouseRightButtonUp);
            this.MouseLeftButtonDown += new MouseButtonEventHandler(dragpanel_MouseLeftButtonDown);
            this.MouseMove += new MouseEventHandler(dragpanel_MouseMove);
            this.MouseLeftButtonUp += new MouseButtonEventHandler(dragpanel_MouseLeftButtonUp);
            this.MouseLeave += new MouseEventHandler(CanvasMy_MouseLeave);
            this.MouseWheel += new MouseWheelEventHandler(CanvasMy_MouseWheel);
            this.LayoutUpdated += new EventHandler(ElementSpace_LayoutUpdated);     // not mvc //костыль
            this.ElementsFocused += new Protsenko.TheoryEditor.Core.Events.Focused(ElementSpace_ElementFocused);

            if (tree.Count != 0)
                tree.RunUpdateForeachElement();
        }
示例#6
0
        public void LoadData()
        {
            try
            {
                Microsoft.Win32.OpenFileDialog filedialog = new Microsoft.Win32.OpenFileDialog();
                filedialog.InitialDirectory = SaveLoad.currentFoldierPath; filedialog.RestoreDirectory = true;
                filedialog.DefaultExt = SaveLoad.fileExtension;
                filedialog.ShowDialog();

                object loadedObject = null;
                SaveLoad.LoadData(filedialog.SafeFileName, out loadedObject);
                tree = (TheoryTree)loadedObject;

                treeController.SetTree(tree);
                elementspace.SetMC(tree, treeController);
            }
            catch (Exception e)
            {
                exceptionHandler.Add(e);
            }
        }
 public TheoryTreeController(TheoryTree tree)
 {
     this.tree = tree;
 }
 public void SetTree(TheoryTree tree)
 {
     if (tree != null)
         this.tree = tree;
     else
         throw new Exception("Tree doesn't exists. tree = null;");
 }
        public void SetMC(TheoryTree tree, TheoryTreeController treeController)
        {
            this.tree = tree;
            this.treeController = treeController;
            this.tree.ContentUpdated += new Protsenko.TheoryEditor.Core.Events.ContentUpdated(tree_ContentUpdated);

            this.Children.Clear();

            if (tree.Count != 0)
                tree.RunUpdateForeachElement();
        }