private void OnEditorMadeDirty(object o, EventArgs e) { MemberEditor editor = (MemberEditor)o; if (!this.mDirtyEditors.Contains(editor)) { this.mDirtyEditors.Add(editor); this.RevertButton.Sensitive = true; this.ApplyButton.Sensitive = true; } }
private void OnEditorMadeClean(object o, EventArgs e) { if (this.mSuspendCleanProcessing) { return; } MemberEditor editor = (MemberEditor)o; if (this.mDirtyEditors.Remove(editor) && this.mDirtyEditors.Count == 0) { this.RevertButton.Sensitive = false; this.ApplyButton.Sensitive = false; } }
private void BuildInterface() { string category = null; uint count = 0; foreach (EffectMember i in this.mMembers) { if (i.Category != category) { category = i.Category; count++; } count++; } category = null; Table table = new Table(count, 2, false); uint row = 0; foreach (EffectMember i in this.mMembers) { Label l; if (i.Category != category) { category = i.Category; l = new Label(); l.Markup = "<b>" + category + "</b>"; l.Show(); table.Attach(l, 0, 2, row, ++row, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Shrink, 5, 5); } l = new Label(i.DisplayName); l.Show(); table.Attach(l, 0, 1, row, row + 1, AttachOptions.Fill, AttachOptions.Shrink, 5, 5); MemberEditor editor = MemberEditor.Create(this.mEffect, i.Item); editor.Show(); editor.MadeClean += this.OnEditorMadeClean; editor.MadeDirty += this.OnEditorMadeDirty; editor.Applied += this.OnEditorApplied; this.mEditors.Add(editor); if (!string.IsNullOrEmpty(i.Description)) { editor.TooltipText = i.Description; } table.Attach(editor, 1, 2, row, ++row, editor.XAttachment, editor.YAttachment, 5, 5); } this.SheetPane.AddWithViewport(table); table.Show(); }