public ColumnTextTool(IDrawingEditor editor, AbstractColumnFigure fig, ITool dt) : base(editor, fig, dt) { _entry = new Gtk.Entry (); _entry.HasFrame = false; _entry.Alignment = 0.5f; _entry.Changed += new System.EventHandler (ChangedHandler); _entry.ModifyFont (fig.PangoLayout.FontDescription.Copy ()); }
public void removeColumn(AbstractColumnFigure column) { Model.removeColumn(column); this.Remove(column); bool tableLevel=false; PrimaryKeyConstraintSchema pkConsColumns = null; //Lookup for pk at table level at reference table foreach (ConstraintSchema cs in Model.TableSchema.Constraints) { if (cs is PrimaryKeyConstraintSchema) { foreach(ColumnSchema col in cs.Columns){ if(col.Name==column.ColumnModel.Name){ pkConsColumns = cs as PrimaryKeyConstraintSchema; tableLevel=true; } } break; } } //Lookup for pk at column level at reference table if (pkConsColumns == null) { pkConsColumns = column.ColumnModel.Constraints.GetConstraint (ConstraintType.PrimaryKey) as PrimaryKeyConstraintSchema; } //synchronize fk,pk metadata if(pkConsColumns!=null){ //notify tables using this column pk as fk about that change if (NotifyChanged != null) { NotifyChanged (true, false, this, kindOptionality.mandatory, false, null); } //remove constraint pkConsColumns.Columns.Remove(column.ColumnModel); if(pkConsColumns.Columns.Count==0){ if(tableLevel){ Model.TableSchema.Constraints.Remove(pkConsColumns); }else{ column.ColumnModel.Constraints.Remove(pkConsColumns); } } } OnFigureChanged (new FigureEventArgs (this, DisplayBox)); }
public void removeColumn(AbstractColumnFigure column) { //TODO: remove all related stuff to column like Fk, Pk constraint, etc. TableSchema.Columns.Remove(column.ColumnModel); columns.Remove(column); }