Esempio n. 1
0
 public void LayoutChild(GnosisInnerLayoutController child, int col, int row, int colSpan, int rowSpan, double width)
 {
     if (child is GnosisMessageGridController)
     {
         IGnosisMessageGridImplementation msgGridImp = (IGnosisMessageGridImplementation)child.ControlImplementation;
         ((IGnosisFrameImplementation)ControlImplementation).LoadMessageGridImplementation(msgGridImp, col, row, colSpan, rowSpan);
     }
     else if (child is GnosisGridController)
     {
         IGnosisGridImplementation gridImp = (IGnosisGridImplementation)child.ControlImplementation;
         ((IGnosisFrameImplementation)ControlImplementation).LoadGrid(gridImp, col, row, colSpan, rowSpan);
         // ((GnosisGridController)child).LayoutRows();
     }
     else if (child is GnosisPanelController)
     {
         IGnosisPanelImplementation panelImp = (IGnosisPanelImplementation)child.ControlImplementation;
         ((GnosisPanelController)child).SetLayoutParameters(colSpan, numSections, width);
         ((IGnosisFrameImplementation)ControlImplementation).LoadPanel(panelImp, col, row, colSpan, rowSpan);
     }
     else if (child is GnosisGalleryController)
     {
         IGnosisGalleryImplementation galleryImp = (IGnosisGalleryImplementation)child.ControlImplementation;
         ((IGnosisNavFrameImplementation)ControlImplementation).LoadGallery(galleryImp, col, row, colSpan, rowSpan);
     }
 }
Esempio n. 2
0
        //public bool PreviouslySelected
        //{
        //    get { return ((GnosisLinkField)ControlImplementation).PreviouslySelected; }
        //    set
        //    {
        //        ((GnosisLinkField)ControlImplementation).PreviouslySelected = value;
        //        OnPropertyChanged("PreviouslySelected");
        //    }
        //}

        public GnosisLinkFieldController(
            GnosisLinkField linkField,
            //  IGnosisLinkFieldImplementation linkFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(linkField, instanceController, parent)
        {
            //if (linkField.ReadOnly)
            //{
            //    linkFieldImplementation.Locked = true;
            //}

            if (linkField.LinkButton != null)
            {
                IGnosisButtonImplementation linkButtonImplementation = linkField.GetLinkButtonImplementation();
                GlobalData.Singleton.StyleHelper.ApplyStyle(linkButtonImplementation, EntityController.GetNormalStyle());
                ((GnosisLinkField)ControlImplementation).SetClickHandler(new Action(OnClick));
            }
            else if (linkField.LinkMenuButton != null)
            {
                ((GnosisLinkField)ControlImplementation).SetMenuButtonEnabled(true);
                IGnosisMenuButtonImplementation menuButtonImplementation = linkField.GetLinkMenuButtonImplementation();
                GlobalData.Singleton.StyleHelper.ApplyStyle(menuButtonImplementation, EntityController.GetNormalStyle());

                //foreach (GnosisLinkButtonItem buttonItem in linkField.LinkMenuButton.LinkButtonItems)
                //{
                //  //  IGnosisMenuItemImplementation itemImplementation = GlobalData.Singleton.ImplementationCreator.GetGnosisMenuItemImplementation();
                //    GlobalData.Singleton.StyleHelper.ApplyStyle(buttonItem, this, EntityController.GetNormalStyle());
                //    buttonItem.SetClickHandler(new Action(OnClick));
                //    menuButtonImplementation.AddMenuItem(buttonItem);
                //}
            }
        }
Esempio n. 3
0
        //public bool Checked
        //{
        //    get { return ((GnosisCheckField)ControlImplementation).Checked; }
        //    set
        //    {
        //        ((GnosisCheckField)ControlImplementation).Checked = value;
        //        OnPropertyChanged("Checked");
        //    }
        //}

        public GnosisCheckFieldController(
            GnosisCheckField checkField,
            //    IGnosisCheckFieldImplementation checkFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(checkField, instanceController, parent)
        {
        }
Esempio n. 4
0
        //public bool Depressed
        //{
        //    get { return ((GnosisButton)ControlImplementation).Depressed; }
        //    set {
        //        //this is an event rather than a property change
        //       // ((GnosisButton)ControlImplementation).Depressed = value;
        //        OnPropertyChanged("Depressed");
        //    }
        //}

        public GnosisButtonController(
            GnosisButton button,
            //  IGnosisButtonImplementation buttonImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(button, instanceController, parent)
        {
        }
Esempio n. 5
0
 public GnosisContentController(
     IGnosisContentControlImplementation contentControl,
     // IGnosisContentControlImplementation contentControlImplementation,
     GnosisInstanceController instanceController,
     GnosisInnerLayoutController parent)
     : base(contentControl, instanceController, parent)
 {
     // Initialize();
 }
 public GnosisNumberFieldController(
     GnosisNumberField numberField,
     //  IGnosisTextFieldImplementation textFieldImplementation,
     GnosisInstanceController instanceController,
     GnosisInnerLayoutController parent)
     : base(numberField, instanceController, parent)
 {
     SetDisplayDimensions();
     numberField.SetTextChangedHandler(new Action <string>(TextChanged));
 }
        public GnosisPanelFieldController(
            IGnosisPanelFieldImplementation panelField,
            // IGnosisPanelFieldImplementation panelFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(panelField, instanceController, parent)
        {
            SetDisplayDimensions();

            ((IGnosisPanelFieldImplementation)ControlImplementation).SetHorizontalAlignment(HorizontalAlignmentType.LEFT);

            instanceController.PropertyChanged += InstanceController_PropertyChanged;
        }
        public GnosisDateFieldController(
            GnosisDateField dateField,
            //  IGnosisDateFieldImplementation dateFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(dateField, instanceController, parent)
        {
            // dateFieldImplementation.SetDateFormat(GlobalData.GnosisDateFormat.LONG);

            //if (dateField.ReadOnly)
            //{
            //    dateFieldImplementation.Locked = true;
            //}
        }
        public GnosisDateTimeFieldController(
            GnosisDateTimeField dateTime,
            //  IGnosisDateTimeFieldImplementation dateTimeFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(dateTime, instanceController, parent)
        {
            //dateTimeFieldImplementation.SetTimeFormat(GlobalData.GnosisTimeFormat.MINUTE);
            //dateTimeFieldImplementation.SetDateFormat(GlobalData.GnosisDateFormat.SHORT);

            //if (dateTime.ReadOnly)
            //{
            //    dateTimeFieldImplementation.Locked = true;
            //}

            SetDisplayDimensions();
        }
        public GnosisComboFieldController(
            GnosisComboField comboField,
            //    IGnosisComboFieldImplementation comboFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(comboField, instanceController, parent)
        {
            comboField.SetOptionChangedHandler(new Action <GnosisComboOption>(OptionChanged));

            //if (comboField.ReadOnly)
            //{
            //    comboFieldImplementation.Locked = true;
            //}

            comboField.Optional = EntityController.GetDatasetItemOptional(Dataset, DatasetItem);

            SetDisplayDimensions();
        }
Esempio n. 11
0
        //public double PaddingVertical
        //{
        //    get { return paddingVertical; }
        //    set { paddingVertical = value; }
        //}


        public GnosisTextFieldController(
            GnosisTextField textField,
            //   IGnosisTextFieldImplementation textFieldImplementation,
            GnosisInstanceController instanceController,
            GnosisInnerLayoutController parent)
            : base(textField, instanceController, parent)
        {
            SetDisplayDimensions();
            textField.SetTextChangedHandler(new Action <string>(TextChanged));
            numLines = 1;

            //textField.SetVerticalAlignment(VerticalAlignmentType.TOP)

            //if (textField > 0)
            //{
            //    textFieldImplementation.SetMaxChars(MaxChars);
            //}

            //if (textField.ReadOnly)
            //{
            //    textFieldImplementation.Locked = true;
            //}
        }
Esempio n. 12
0
        protected virtual void LayoutChildren(double totalWidthAvailable)
        {
            ((IGnosisFrameImplementation)ControlImplementation).Clear();

            //workout how many sections we can fit horizontally
            int sectionsFit = (int)Math.Round(totalWidthAvailable / optimalSectionWidth);

            // find closest allowable number of sections
            numSections = ((IGnosisFrameImplementation)ControlImplementation)._AllowedSectionList.OrderBy(item => Math.Abs(sectionsFit - item)).First();
            ((IGnosisFrameImplementation)ControlImplementation).SetNumColumns(numSections);
            double sectionWidth = totalWidthAvailable / numSections;

            //layout the content in order
            var orderedContent = childControllers.OrderBy(x => x.ControlImplementation.Order);
            int currentCol     = 0;
            int currentRow     = 0;

            numRows = 0;

            GnosisInnerLayoutController previousChild = null;

            if (orderedContent.First() is GnosisGridController || orderedContent.First() is GnosisGalleryController)
            {
                ((IGnosisFrameImplementation)ControlImplementation).AddRow();
            }
            else
            {
                ((IGnosisFrameImplementation)ControlImplementation).AddRowAutoHeight();
            }
            numRows++;

            foreach (GnosisInnerLayoutController child in orderedContent)
            {
                bool placed      = false;
                int  sectionSpan = ((IGnosisInnerLayoutControlImplementation)child.ControlImplementation).MaxSectionSpan;
                //grids default to take up all horizontal space
                if (child is GnosisGridController || child is GnosisMessageGridController || child is GnosisPanelController)
                {
                    if (sectionSpan == 0)
                    {
                        sectionSpan = numSections;
                    }
                }
                else if (sectionSpan == 0)
                {
                    sectionSpan = 1;
                }

                while (!placed)
                {
                    if (currentCol + sectionSpan <= numSections)
                    {
                        if (currentCol != 0)
                        {
                            //if (verticalSpacing > 0)
                            //{
                            //    ((IGnosisInnerLayoutControlImplementation)child.ControlImplementation).SetMarginLeft(horizontalSpacing);
                            //}
                        }

                        LayoutChild(child, currentCol, currentRow, sectionSpan, 1, sectionSpan * sectionWidth);

                        currentCol = currentCol + sectionSpan;
                        //if (currentCol > numSections - 1)
                        //{
                        //    ((IGnosisFrameImplementation)ControlImplementation).AddRow();
                        //    currentRow++;
                        //    currentCol = 0;
                        //}

                        placed = true;
                    }
                    else if (sectionSpan > numSections)
                    {
                        currentCol = 0;
                        //int rowSpan = (int)Math.Ceiling((double)sectionSpan / (double)numSections);

                        //for (int i = 0; i < rowSpan; i++)
                        //{
                        //    ((IGnosisFrameImplementation)ControlImplementation).AddRow();
                        //}
                        LayoutChild(child, currentCol, currentRow, numSections, 1, numSections * sectionWidth);
                        currentRow = currentRow + 1;

                        placed = true;
                    }
                    else
                    {
                        //We are moving to the next row. Check if there are spare columns we can give to the previous child
                        if (previousChild != null)
                        {
                            int spareCols = numSections - currentCol;
                            ((IGnosisFrameImplementation)ControlImplementation).IncreaseColSpan((IGnosisInnerLayoutControlImplementation)previousChild.ControlImplementation, spareCols);
                        }

                        if (verticalSpacing > 0)
                        {
                            ((IGnosisFrameImplementation)ControlImplementation).AddRowFixedHeight(verticalSpacing);
                            currentRow++;
                        }

                        if (child is GnosisGridController || child is GnosisGalleryController)
                        {
                            ((IGnosisFrameImplementation)ControlImplementation).AddRow(); //star sized, use left over space
                        }
                        else
                        {
                            ((IGnosisFrameImplementation)ControlImplementation).AddRowAutoHeight();
                        }
                        currentRow++;
                        currentCol = 0;
                    }
                }

                previousChild = child;
            }
        }