//[System.Xml.Serialization.XmlElement("GnosisSystemDefinition")] //public List<GnosisSystemDefinition> SystemDefinitions //{ // get { return systemDefinitions; } // set { systemDefinitions = value; } //} public void GnosisAddChild(IGnosisObject child) { if (child is GnosisDataDefinition) { data = (GnosisDataDefinition)child; } else if (child is GnosisDatasetDefinition) { if (datasets == null) { datasets = new List <GnosisDatasetDefinition>(); } datasets.Add((GnosisDatasetDefinition)child); } else if (child is GnosisDocumentFrame) { docFrame = (GnosisDocumentFrame)child; } else if (child is GnosisConnectionFrame) { connectionFrame = (GnosisConnectionFrame)child; } else if (child is GnosisNavigatorFrame) { navFrame = (GnosisNavigatorFrame)child; } else if (child is GnosisSearchFrame) { searchFrame = (GnosisSearchFrame)child; } else if (child is GnosisParentWindow) { parentWindow = (GnosisParentWindow)child; } else { GlobalData.Singleton.ErrorHandler.HandleUnknowChildAddedError("GnosisEntity", child.GetType().Name); } }
public static void GnosisBorderThicknessPropertyChanged(object source, DependencyPropertyChangedEventArgs e) { GnosisSearchFrame frame = source as GnosisSearchFrame; int newThickness = (int)e.NewValue; int oldThickness = (int)e.OldValue; double paddingHorizontal; double paddingVertical; if (newThickness > oldThickness) { if (frame.ContainerHorizontalPadding > 0 && frame.ContainerVerticalPadding > 0) { //increase border thickness, decrease padding paddingHorizontal = frame.ContainerHorizontalPadding - newThickness; paddingVertical = frame.ContainerVerticalPadding - newThickness; if (paddingHorizontal >= 0 && paddingVertical >= 0) { frame.Padding = new Thickness(paddingHorizontal, paddingVertical, paddingHorizontal, paddingVertical); frame.BorderThickness = new Thickness(newThickness); } else { frame.Padding = new Thickness(0); frame.BorderThickness = new Thickness(frame.ContainerHorizontalPadding, frame.ContainerVerticalPadding, frame.ContainerHorizontalPadding, frame.ContainerVerticalPadding); } } } else { //decrease border thickness, increase padding paddingHorizontal = frame.Padding.Left + oldThickness; paddingVertical = frame.Padding.Top + oldThickness; frame.Padding = new Thickness(paddingHorizontal, paddingVertical, paddingHorizontal, paddingVertical); frame.BorderThickness = new Thickness(newThickness); } }