public ControlHarnessBase(object control) { if (control is DependencyObject) { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode((DependencyObject)control)) { IsDesignTime = true; } else { DependencyObject parent = VisualTreeHelper.GetParent((DependencyObject)control); while (parent != null && _parent == null) { if (parent is IActivityContainer) _parent = (IActivityContainer)parent; else parent = VisualTreeHelper.GetParent(parent); } if (_parent == null && ApplicationEx.CreatingContainer != null) _parent = ApplicationEx.CreatingContainer; } } RegisterControl(control); }
private void CloseButton_Click(object sender, RoutedEventArgs e) { #if SILVERLIGHT IActivityContainer activityContainer = ControlHarness.FindParentActivityContainer(this); if (activityContainer != null) { // For now, just support closing child windows, can be expanded later if (activityContainer is ChildWindow) { // Probably should incorporate a dirty check at some stage, and notify the user if true? var window = activityContainer as ChildWindow; window.Close(); } } #elif WPF IActivityContainer activityContainer = ControlHarness.FindParentActivityContainer(this); if (activityContainer != null) { // For now, just support closing child windows, can be expanded later if (activityContainer is Window) { // Probably should incorporate a dirty check at some stage, and notify the user if true? var window = activityContainer as Window; window.Close(); } } #endif }
public ControlHarnessBase(object control) { if (control is DependencyObject) { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode((DependencyObject)control)) { IsDesignTime = true; } else { DependencyObject parent = VisualTreeHelper.GetParent((DependencyObject)control); while (parent != null && _parent == null) { if (parent is IActivityContainer) { _parent = (IActivityContainer)parent; } else { parent = VisualTreeHelper.GetParent(parent); } } if (_parent == null && ApplicationEx.CreatingContainer != null) { _parent = ApplicationEx.CreatingContainer; } } } RegisterControl(control); }
public void RegisterActivity(IActivityContainer container) { if (!_openActivities.ContainsKey(container.ActivityStamp)) { _openActivities.Add(container.ActivityStamp, container); } }
public ActivityHarness(IActivityContainer container) : base() { this._container = container; if (this._container is FrameworkElement) _visualContainer = (FrameworkElement)container; if (System.ComponentModel.DesignerProperties.GetIsInDesignMode((DependencyObject)container)) IsDesignTime = true; }
public ActivityHarness(IActivityContainer container) : base() { this._container = container; if (this._container is FrameworkElement) { _visualContainer = (FrameworkElement)container; } if (System.ComponentModel.DesignerProperties.GetIsInDesignMode((DependencyObject)container)) { IsDesignTime = true; } }
public ControlHarness(object control) { _control = control; if (control is DependencyObject) { if (System.ComponentModel.DesignerProperties.GetIsInDesignMode((DependencyObject)control)) { IsDesignTime = true; } else { _activityContainer = FindParentActivityContainer(control); } } RegisterControl(control); }
partial void ShowActivityContainer(IActivityContainer ac) { if (ac is ChildWindowEx) { ChildWindowEx window = ac as ChildWindowEx; window.Show(); } else if (ac is PageEx || ac is UserControlEx) { if (ActivityHostFrame != null) { ActivityHostFrame.Content = ac; } } else { SetRootVisual(ac as Control); } }
partial void ShowActivityContainer(IActivityContainer ac) { if (ac is WindowEx) { WindowEx window = ac as WindowEx; window.Show(); } /* * else if (ac is PageEx || ac is UserControlEx) * { * if (ActivityHostFrame != null) * { * ActivityHostFrame.Content = ac; * } * } */ else { SetRootVisual(ac as Control); } }
/// <summary> /// Auto register myself with parent IActivityContainer. /// Might need to traverse the display list upwards until found one /// </summary> private void RegisterWithParentActivityContainer() { FrameworkElement parent = this.Parent as FrameworkElement; IActivityContainer parentContainer = null; while (parentContainer == null && parent != null) { if (parent is IActivityContainer) { parentContainer = parent as IActivityContainer; } else { parent = parent.Parent as FrameworkElement; } } if (parentContainer != null) { parentContainer.RegisterControl(this); } }
public void RequestActivity(IActivityContainer container, string activity, string style, int initialKey, ServerApplicationService.ResponseCallBackDelegate callBack) { var xml = new XElement(Common.Requests.ActivityCreate); xml.SetAttributeValue(Common.ActivityName, activity); if (style == null) { style = string.Empty; } xml.SetAttributeValue(Common.ActivityStyle, style); if (initialKey > 0) { xml.SetAttributeValue(Common.InitialKey, initialKey.ToString()); } container.AppendDataPublicationsToActivityRequest(xml); ServerApplicationService.SendRequestToServerPortal(xml, callBack); }
internal static IActivityContainer FindParentActivityContainer(object control) { IActivityContainer activityContainer = null; DependencyObject parent = VisualTreeHelper.GetParent((DependencyObject)control); while (parent != null && activityContainer == null) { if (parent is IActivityContainer) { activityContainer = (IActivityContainer)parent; } else { parent = VisualTreeHelper.GetParent(parent); } } if (activityContainer == null && ApplicationEx.CreatingContainer != null) { activityContainer = ApplicationEx.CreatingContainer; } return(activityContainer); }
public int RegisterActivityCopy(IActivityContainer container) { _duplicateActivityCount++; _openActivities.Add(container.ActivityStamp + "/" + _duplicateActivityCount.ToString(), container); return _duplicateActivityCount; }
public void RequestActivity(IActivityContainer container, string activity, string style, int initialKey, ServerApplicationService.ResponseCallBackDelegate callBack) { var xml = new XElement(Common.Requests.ActivityCreate); xml.SetAttributeValue(Common.ActivityName, activity); if (style == null) style = string.Empty; xml.SetAttributeValue(Common.ActivityStyle, style); if (initialKey > 0) xml.SetAttributeValue(Common.InitialKey, initialKey.ToString()); container.AppendDataPublicationsToActivityRequest(xml); ServerApplicationService.SendRequestToServerPortal(xml, callBack); }
partial void ShowActivityContainer(IActivityContainer ac);
protected internal void ShowChildWindow(IActivityContainer ac) { ChildWindowEx window = ac as ChildWindowEx; window.Show(); }
public void SetRootVisual(IActivityContainer ac) { SetRootVisual(ac as Control); }
public int RegisterActivityCopy(IActivityContainer container) { _duplicateActivityCount++; _openActivities.Add(container.ActivityStamp + "/" + _duplicateActivityCount.ToString(), container); return(_duplicateActivityCount); }
public void RegisterActivity(IActivityContainer container) { if (!_openActivities.ContainsKey(container.ActivityStamp)) _openActivities.Add(container.ActivityStamp, container); }
protected internal void ShowChildWindow(IActivityContainer ac) { WindowEx window = ac as WindowEx; window.Show(); }
internal void PublishResponse(XDocument responseDocument) { //TODO: Refactor to fire event to UI if (responseDocument.Root.Attribute(Common.serverMsg) != null && !string.IsNullOrEmpty(responseDocument.Root.Attribute(Common.serverMsg).Value)) { ApplicationEx.Instance.DisplayMessageBox(responseDocument.Root.Attribute(Common.serverMsg).Value, "System Broadcast Message"); } //System.Diagnostics.Debug.WriteLine("PUBLISH RESPONSE:\r\n" + responseDocument.ToString()); XNode child = responseDocument.Root.FirstNode; while (child != null) { if (child is XElement) { XElement xml = (XElement)child; switch (xml.Name.ToString()) { case Common.ActivityNode: IActivityContainer publishingContainer = null; string activityStamp = xml.Attribute(Common.ActivityHandle).Value; if (CurrentActivityDupIndex > 0) { activityStamp += "/" + CurrentActivityDupIndex.ToString(); CurrentActivityDupIndex = 0; } // Look for the activity in myActivities Dictionary if (activityStamp.Length > 0) { if (ApplicationEx.PickListActivity != null && ApplicationEx.PickListActivity == activityStamp) { ApplicationEx.PickListActivity = null; ApplicationEx.PickListXml = xml; } else { if (ApplicationEx.Instance.OpenActivities.ContainsKey(activityStamp)) { publishingContainer = ApplicationEx.Instance.OpenActivities[activityStamp]; } } } if (publishingContainer != null) { publishingContainer.PublishResponse(xml); } break; case Common.Requests.ActivityRequest: try { ApplicationEx.Instance.CreateActivityContainer(xml); } catch (FormMappingNotFoundException ex) { throw; } catch (Exception ex) { Logging.LogException(ex); } break; case Common.MessagesNode: try { if (xml.FirstNode != null) { string message = "The following message(s) have been returned from the server:"; string title = null; XElement messageElt = (XElement)xml.FirstNode; while (messageElt != null) { message += Environment.NewLine + Environment.NewLine; message += messageElt.Value; if (message.Length == 0) { message = "An unknown error has been reported by the server."; } title = messageElt.Attribute(Common.MessageType).Value; messageElt = (XElement)messageElt.NextNode; } ApplicationEx.Instance.DisplayMessageBox(message, title ?? "Error"); } } catch (Exception ex) { Logging.LogException(ex); } break; case Common.MenuNode: //TODO what is this for? break; }//end-switch } child = child.NextNode; } }