예제 #1
0
        /// <summary>
        /// Создает элемент управления для отображения информации о шаблонной директиве
        /// </summary>
        public TemplateDirectiveScreen(TemplateBaseDetailDirective directive)
        {
            if (directive == null)
            {
                throw new ArgumentNullException("directive", "Argument cannot be null");
            }
            currentDirective = directive;

            BackColor = Css.CommonAppearance.Colors.BackColor;
            Dock      = DockStyle.Fill;

            footerControl  = new FooterControl();
            headerControl  = new HeaderControl();
            aircraftHeader = new TemplateAircraftHeaderControl(currentDirective.Parent.Parent as TemplateAircraft, true, true);

            generalDataAndPerformanceContainer = new ExtendableRichContainer();
            attributesAndParametersContainer   = new ExtendableRichContainer();

            generalDataAndPerformanceControl = new TemplateDirectiveGeneralInformationControl(currentDirective);
            attributesAndParametersControl   = new TemplateDirectiveAttributesControl(currentDirective);
            mainPanel             = new Panel();
            panelHeader           = new Panel();
            buttonDeleteDirective = new RichReferenceButton();
            buttonAddTemplate     = new AvButtonT();
            //
            // headerControl
            //
            headerControl.Controls.Add(aircraftHeader);
            headerControl.ButtonEdit.TextMain       = "Save";
            headerControl.ButtonEdit.Icon           = icons.Save;
            headerControl.ButtonEdit.IconNotEnabled = icons.SaveGray;
            headerControl.TabIndex = 0;
            headerControl.ButtonEdit.DisplayerRequested += ButtonSave_DisplayerRequested;
            headerControl.ReloadRised += headerControl_ReloadRised;
            //
            // generalDataAndPerformanceContainer
            //
            generalDataAndPerformanceContainer.BackColor         = Css.CommonAppearance.Colors.BackColor;
            generalDataAndPerformanceContainer.Dock              = DockStyle.Top;
            generalDataAndPerformanceContainer.LabelCaption.Text = "General Data And Performance";
            generalDataAndPerformanceContainer.MainControl       = generalDataAndPerformanceControl;
            generalDataAndPerformanceContainer.UpperLeftIcon     = icons.GrayArrow;
            generalDataAndPerformanceContainer.TabIndex          = 1;
            //
            // attributesAndParametersContainer
            //
            attributesAndParametersContainer.BackColor         = Css.CommonAppearance.Colors.BackColor;
            attributesAndParametersContainer.Dock              = DockStyle.Top;
            attributesAndParametersContainer.LabelCaption.Text = "Attributes And Additional Parameters";
            attributesAndParametersContainer.MainControl       = attributesAndParametersControl;
            attributesAndParametersContainer.UpperLeftIcon     = icons.GrayArrow;
            attributesAndParametersContainer.TabIndex          = 2;
            //
            // buttonDeleteDirective
            //
            buttonDeleteDirective.Anchor             = AnchorStyles.Right | AnchorStyles.Top;
            buttonDeleteDirective.BackColor          = Color.Transparent;
            buttonDeleteDirective.FontMain           = Css.HeaderControl.Fonts.PrimaryFont;
            buttonDeleteDirective.FontSecondary      = Css.HeaderControl.Fonts.PrimaryFont;
            buttonDeleteDirective.ForeColorMain      = Css.HeaderControl.Colors.PrimaryColor;
            buttonDeleteDirective.ForeColorSecondary = Css.HeaderControl.Colors.PrimaryColor;
            buttonDeleteDirective.Location           = new Point(panelHeader.Right - 160, 0);
            buttonDeleteDirective.Icon                = icons.Delete;
            buttonDeleteDirective.IconNotEnabled      = icons.DeleteGray;
            buttonDeleteDirective.IconLayout          = ImageLayout.Center;
            buttonDeleteDirective.PaddingMain         = new Padding(3, 0, 0, 0);
            buttonDeleteDirective.ReflectionType      = ReflectionTypes.CloseSelected;
            buttonDeleteDirective.Size                = new Size(160, 50);
            buttonDeleteDirective.TabIndex            = 16;
            buttonDeleteDirective.TextAlignMain       = ContentAlignment.MiddleLeft;
            buttonDeleteDirective.TextAlignSecondary  = ContentAlignment.TopLeft;
            buttonDeleteDirective.TextMain            = "Delete";
            buttonDeleteDirective.TextSecondary       = "directive";
            buttonDeleteDirective.DisplayerRequested += buttonDeleteDirective_DisplayerRequested;
            //
            // buttonAddTemplate
            //
            buttonAddTemplate.Anchor         = AnchorStyles.Bottom | AnchorStyles.Right;
            buttonAddTemplate.FontMain       = Css.HeaderControl.Fonts.PrimaryFont;
            buttonAddTemplate.ForeColorMain  = Css.HeaderControl.Colors.PrimaryColor;
            buttonAddTemplate.Icon           = icons.Add;
            buttonAddTemplate.IconNotEnabled = icons.AddGray;
            buttonAddTemplate.Width          = 160;
            buttonAddTemplate.Location       = new Point(mainPanel.Right - buttonAddTemplate.Width - 10, mainPanel.Bottom - buttonAddTemplate.Height - 10);
            buttonAddTemplate.TextMain       = "Add To Database";
            buttonAddTemplate.Click         += buttonAddTemplate_Click;
            buttonAddTemplate.TabIndex       = 3;
            buttonAddTemplate.Visible        = false;
            //
            // panelHeader
            //
            panelHeader.AutoSize     = true;
            panelHeader.AutoSizeMode = AutoSizeMode.GrowAndShrink;
            panelHeader.Dock         = DockStyle.Top;
            panelHeader.Controls.Add(buttonDeleteDirective);
            panelHeader.TabIndex = 0;
            //
            // mainPanel
            //
            mainPanel.AutoScroll = true;
            mainPanel.Dock       = DockStyle.Fill;
            mainPanel.TabIndex   = 1;
            mainPanel.Controls.Add(buttonAddTemplate);
            mainPanel.Controls.Add(attributesAndParametersContainer);
            mainPanel.Controls.Add(generalDataAndPerformanceContainer);
            mainPanel.Controls.Add(panelHeader);
            //
            //  this
            //
            Controls.Add(mainPanel);
            Controls.Add(footerControl);
            Controls.Add(headerControl);


            UpdateDirective(false);
        }
        ///<summary>
        /// Создается объект, описывающий отображение добавления шаблонной директивы
        ///</summary>
        private DispatcheredTemplateDirectiveAdding()
        {
            Dock           = DockStyle.Fill;
            BackColor      = Css.CommonAppearance.Colors.BackColor;
            footerControl  = new FooterControl();
            headerControl  = new HeaderControl();
            aircraftHeader = new TemplateAircraftHeaderControl();
            mainPanel      = new Panel();

            generalDataAndPerformanceControl = new TemplateDirectiveGeneralInformationControl();
            attributesAndParametersControl   = new TemplateDirectiveAttributesControl();

            generalDataAndPerformanceContainer = new ExtendableRichContainer();
            attributesAndParametersContainer   = new ExtendableRichContainer();

            aircraftHeader.OperatorClickable = true;
            aircraftHeader.AircraftClickable = true;
            //
            // headerControl
            //
            headerControl.Controls.Add(aircraftHeader);
            headerControl.ButtonReload.Icon           = icons.SaveAndAdd;
            headerControl.ButtonReload.IconNotEnabled = icons.SaveAndAddGray;
            headerControl.ButtonReload.IconLayout     = ImageLayout.Center;
            headerControl.ButtonReload.TextMain       = "Save and";
            headerControl.ButtonReload.TextSecondary  = "add another";
            headerControl.ButtonReload.Click         += buttonSaveAndAdd_Click;

            headerControl.ButtonEdit.Icon                = icons.Save;
            headerControl.ButtonEdit.IconNotEnabled      = icons.SaveGray;
            headerControl.ButtonEdit.IconLayout          = ImageLayout.Center;
            headerControl.ButtonEdit.ReflectionType      = ReflectionTypes.DisplayInCurrent;
            headerControl.ButtonEdit.TextMain            = "Save";
            headerControl.ButtonEdit.TextSecondary       = "and Edit";
            headerControl.ButtonEdit.DisplayerRequested += buttonSaveAndEdit_DisplayerRequested;
            headerControl.TabIndex = 0;
            //
            // mainPanel
            //
            mainPanel.Dock       = DockStyle.Fill;
            mainPanel.AutoScroll = true;
            mainPanel.TabIndex   = 1;
            //
            // footerControl
            //
            footerControl.TabIndex = 2;
            //
            // generalDataAndPerformanceContainer
            //
            generalDataAndPerformanceContainer.Dock          = DockStyle.Top;
            generalDataAndPerformanceContainer.UpperLeftIcon = icons.GrayArrow;
            generalDataAndPerformanceContainer.Caption       = "General data and Performance";
            generalDataAndPerformanceContainer.MainControl   = generalDataAndPerformanceControl;
            generalDataAndPerformanceContainer.TabIndex      = 0;
            //
            // attributesAndParametersContainer
            //
            attributesAndParametersContainer.Dock          = DockStyle.Top;
            attributesAndParametersContainer.UpperLeftIcon = icons.GrayArrow;
            attributesAndParametersContainer.Caption       = "Attributes and additional parameters";
            attributesAndParametersContainer.MainControl   = attributesAndParametersControl;
            attributesAndParametersContainer.TabIndex      = 1;

            mainPanel.Controls.Add(attributesAndParametersContainer);
            mainPanel.Controls.Add(generalDataAndPerformanceContainer);

            Controls.Add(mainPanel);
            Controls.Add(footerControl);
            Controls.Add(headerControl);
        }