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); } }
//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); //} } }
//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) { }
//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) { }
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(); }
//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; //} }
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; } }