예제 #1
0
    public MainWindow()
    {
        This = this;

        BasicFont = This.Font;
        RegistryManager.CreateAccount();

        Text = AppMain.AppName;
        Icon = ResourceManager.GetAppIcon();

        WindowState = (FormWindowState)WindowStateManager.GetState();

        StartPosition = FormStartPosition.Manual;

        Rectangle Rect = new Rectangle();

        Rect = WindowLocationManager.GetLocation();

        Size     = new Size(Rect.Width, Rect.Height);
        Location = new Point(Rect.X, Rect.Y);

        Menu = new M_Main();

        /* The following three panels are docked.
         *
         * For reasons that I don't understand, when
         * panels are docked the latter panels get
         * priority over the earlier panels.
         *
         # The left panel sits at the left.
         # The right panel is a fill.
         # The top panel goes last and get docked at the top. */

        new PanelRight(this);
        new Window_Splitter(this);
        new PanelLeft(this);
        new PanelTop(this);

        StatusBarManager.Create(this);
        Print_Manager.Install();

        State.NoFilesOpen();

        Visible = true;
    }
예제 #2
0
    protected override void OnClosing(CancelEventArgs CEA)
    {
        base.OnClosing(CEA);

        FileTree.This.Save();
        PanelLeft.Closing();

        if (TabManager.HasTabs())
        {
            IO_SaveAll.SaveAll();
        }

        if (Options_Registry.IsChecked)
        {
            RegistryManager.DeleteAccount();
            return;
        }

        if (WindowState == FormWindowState.Normal)
        {
            WindowStateManager.SetState((int)FormWindowState.Normal);

            Rectangle Rect = new Rectangle();

            Rect.Width  = Size.Width;
            Rect.Height = Size.Height;
            Rect.X      = Location.X;
            Rect.Y      = Location.Y;

            WindowLocationManager.SetLocation(Rect);
        }

        else if (WindowState == FormWindowState.Maximized)
        {
            WindowStateManager.SetState((int)FormWindowState.Maximized);
        }
    }