public object GetRealObject(object parent) { // We create the view firstly without controller to have the creation finished // before the controler is set // otherwise we will have callbacks to not initialized variables WorksheetView frm = new WorksheetView(); frm.Location = m_Location; frm.Size = m_Size; frm.Dock = DockStyle.Fill; ((IWorksheetController)m_Controller).View = frm; if(m_Controller is System.Runtime.Serialization.IDeserializationCallback) { DeserializationFinisher finisher = new DeserializationFinisher(frm); ((System.Runtime.Serialization.IDeserializationCallback)m_Controller).OnDeserialization(finisher); } return frm; }
public virtual void OnDeserialization(object obj) { //base.Parent = this; //base.OnDeserialization(obj); if(!_table_DeserializationFinished && obj is DeserializationFinisher) { _table_DeserializationFinished = true; // set the parent data table of the data column collection // now inform the dependent objects DeserializationFinisher finisher = new DeserializationFinisher(this); this._dataColumns.ParentObject = this; this._dataColumns.OnDeserialization(finisher); this._propertyColumns.ParentObject = this; this._propertyColumns.OnDeserialization(finisher); } }
/// <summary> /// Finale measures after deserialization. /// </summary> /// <param name="obj">Not used.</param> public virtual void OnDeserialization(object obj) { if(null!=this.m_DeserializationSurrogate && obj is DeserializationFinisher) { m_DeserializationSurrogate=null; // first finish the document DeserializationFinisher finisher = new DeserializationFinisher(this); m_Table.OnDeserialization(finisher); // create the menu this.InitializeMenu(); // set the menu of this class m_View.TableViewMenu = this.m_MainMenu; m_View.TableViewTitle = this.m_Table.Name; // restore the event chain to the Table //this.DataTable = this.m_Table; } }
/// <summary> /// Finale measures after deserialization. /// </summary> /// <param name="obj">Not used.</param> public virtual void OnDeserialization(object obj) { if(null!=this.m_DeserializationSurrogate && obj is DeserializationFinisher) { m_DeserializationSurrogate=null; // first finish the document DeserializationFinisher finisher = new DeserializationFinisher(this); m_Graph.OnDeserialization(finisher); // create the menu this.InitializeMenu(); // set the menu of this class m_View.GraphMenu = this.m_MainMenu; // restore event chain to GraphDocument m_Graph.Changed += new EventHandler(this.EhGraph_Changed); m_Graph.Layers.LayerCollectionChanged += new EventHandler(this.EhGraph_LayerCollectionChanged); // Ensure the current layer and plot numbers are valid this.EnsureValidityOfCurrentLayerNumber(); this.EnsureValidityOfCurrentPlotNumber(); } }
public void OnDeserialization(object obj) { if(!m_DeserializationFinished && obj is DeserializationFinisher) // if deserialization has completely finished now { m_DeserializationFinished = true; DeserializationFinisher finisher = new DeserializationFinisher(this); // set the _parent object for the data tables foreach(DataTable dt in m_TablesByName.Values) { dt.ParentObject = this; dt.OnDeserialization(finisher); } } }
/// <summary> /// Final measures for the object after deserialization. /// </summary> /// <param name="obj">The object for which the deserialization has finished.</param> public virtual void OnDeserialization(object obj) { if(!m_DeserializationFinished && obj is DeserializationFinisher) { m_DeserializationFinished = true; DeserializationFinisher finisher = new DeserializationFinisher(this); // 1. Set the parent Data table of the columns, // because they may be feel lonesome int nCols = m_ColumnsByNumber.Count; m_NumberOfRows = 0; DataColumn dc; for(int i=0;i<nCols;i++) { dc = (DataColumn)m_ColumnsByNumber[i]; dc.ParentObject = this; dc.OnDeserialization(finisher); // add it also to the column name cache m_ColumnsByName.Add(dc.Name,dc); // count the maximumn number of rows if(dc.Count>m_NumberOfRows) m_NumberOfRows = dc.Count; } } }