[MonoDevelop] [Fwd: Another option panel]
John BouAntoun
jbafactor@optusnet.com.au
Tue, 13 Jan 2004 12:44:39 +1100
--=-oq8z2LbKJaQ7UX08hope
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
12 minutes this time.
This one goes in:
src/Main/Base/Gui/Dialogs/OptionPanels/IDEOptions/CodeGenerationPanel.cs
somone please review and commit.
JBA
P.S. Is the check box string rendering fixed in gtk-sharp yet?
JBA
________________________________________________________________________
plain text
document
attachment
(CodeGenerationPanel.cs)
--=-oq8z2LbKJaQ7UX08hope
Content-Disposition: attachment; filename=CodeGenerationPanel.cs
Content-Type: text/plain; name=CodeGenerationPanel.cs; charset=UTF-8
Content-Transfer-Encoding: 8bit
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version value="$version"/>
// </file>
using System;
using System.IO;
using System.Drawing;
using System.Collections;
using ICSharpCode.SharpDevelop.Internal.ExternalTool;
using ICSharpCode.Core.AddIns.Codons;
using ICSharpCode.Core.Properties;
using ICSharpCode.SharpDevelop.Gui.Components;
using ICSharpCode.Core.Services;
using ICSharpCode.Core.AddIns;
using Gtk;
namespace ICSharpCode.SharpDevelop.Gui.Dialogs.OptionPanels
{
public class CodeGenerationPanel : AbstractOptionPanel
{
// Gtk Controls
CheckButton generateAdditonalCommentsCheckBox;
CheckButton generateDocCommentsCheckBox;
CheckButton useFullTypeNamesCheckBox;
CheckButton blankLinesBetweenMemberCheckBox;
CheckButton elseOnClosingCheckBox;
CheckButton startBlockOnTheSameLineCheckBox;
// Services
StringParserService StringParserService = (StringParserService)ServiceManager.Services.GetService (typeof (StringParserService));
PropertyService PropertyService = (PropertyService)ServiceManager.Services.GetService (typeof (PropertyService));
static readonly string codeGenerationProperty = "SharpDevelop.UI.CodeGenerationOptions";
public override void LoadPanelContents()
{
// set up the form controls instance
SetupPanelInstance();
IProperties p = (IProperties)PropertyService.GetProperty(codeGenerationProperty, new DefaultProperties());
generateAdditonalCommentsCheckBox.Active = p.GetProperty("GenerateAdditionalComments", true);
generateDocCommentsCheckBox.Active = p.GetProperty("GenerateDocumentComments", true);
useFullTypeNamesCheckBox.Active = p.GetProperty("UseFullyQualifiedNames", true);
blankLinesBetweenMemberCheckBox.Active = p.GetProperty("BlankLinesBetweenMembers", true);
elseOnClosingCheckBox.Active = p.GetProperty("ElseOnClosing", true);
startBlockOnTheSameLineCheckBox.Active = p.GetProperty("StartBlockOnSameLine", true);
}
public override bool StorePanelContents()
{
IProperties p = (IProperties)PropertyService.GetProperty(codeGenerationProperty, new DefaultProperties());
p.SetProperty("GenerateAdditionalComments", generateAdditonalCommentsCheckBox.Active);
p.SetProperty("GenerateDocumentComments", generateDocCommentsCheckBox.Active);
p.SetProperty("UseFullyQualifiedNames", useFullTypeNamesCheckBox.Active);
p.SetProperty("BlankLinesBetweenMembers", blankLinesBetweenMemberCheckBox.Active);
p.SetProperty("ElseOnClosing", elseOnClosingCheckBox.Active);
p.SetProperty("StartBlockOnSameLine", startBlockOnTheSameLineCheckBox.Active);
PropertyService.SetProperty(codeGenerationProperty, p);
return true;
}
private void SetupPanelInstance()
{
// instantiate all the controls in the first group
Gtk.Frame frame1 = new Gtk.Frame(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.CodeGenerationOptionsGroupBox}"));
Gtk.VBox vBox1 = new Gtk.VBox(false,2);
useFullTypeNamesCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.UseFullTypeNamesCheckBox}"));
blankLinesBetweenMemberCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.BlankLinesBetweenMembersCheckBox}"));
elseOnClosingCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.ElseOnClosingCheckBox}"));
startBlockOnTheSameLineCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.StartBlockOnTheSameLineCheckBox}"));
// pack all controls in first group
vBox1.PackStart(startBlockOnTheSameLineCheckBox, false, false, 2);
vBox1.PackStart(elseOnClosingCheckBox, false, false, 2);
vBox1.PackStart(blankLinesBetweenMemberCheckBox, false, false, 2);
vBox1.PackStart(useFullTypeNamesCheckBox, false, false, 2);
frame1.Add(vBox1);
// instantiate all the controls in the second group
Gtk.Frame frame2 = new Gtk.Frame(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.CommentGenerationOptionsGroupBox}"));
Gtk.VBox vBox2 = new Gtk.VBox(false,2);
generateAdditonalCommentsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.GenerateAdditionalCommentsCheckBox}"));
generateDocCommentsCheckBox = CheckButton.NewWithLabel(StringParserService.Parse("${res:Dialog.Options.IDEOptions.CodeGenerationOptionsPanel.GenerateDocCommentsCheckBox}"));
// pack all controls in second group
vBox2.PackStart(generateDocCommentsCheckBox, false, false, 2);
vBox2.PackStart(generateAdditonalCommentsCheckBox, false, false, 2);
frame2.Add(vBox2);
// pack all the groups
Gtk.VBox mainBox = new Gtk.VBox(false,2);
mainBox.PackStart(frame1, false, false, 2);
mainBox.PackStart(frame2, false, false, 2);
this.Add(mainBox);
}
}
}
--=-oq8z2LbKJaQ7UX08hope--