public CombineConfigurationPanelWidget(IProperties CustomizationObject)
                : base("Base.glade", "CombineConfigurationsPanel")
            {
                configuration = (CombineConfiguration)((IProperties)CustomizationObject).GetProperty("Config");

                store = new TreeStore (typeof(object), typeof(string), typeof(bool), typeof(string));
                configsList.Model = store;
                configsList.HeadersVisible = true;

                TreeViewColumn col = new TreeViewColumn ();
                CellRendererText sr = new CellRendererText ();
                col.PackStart (sr, true);
                col.Expand = true;
                col.AddAttribute (sr, "text", 1);
                col.Title = "Solution Item";
                configsList.AppendColumn (col);

                CellRendererToggle tt = new CellRendererToggle ();
                tt.Activatable = true;
                tt.Toggled += new ToggledHandler (OnBuildToggled);
                configsList.AppendColumn ("Build", tt, "active", 2);
                configsList.AppendColumn ("Configuration", new CellRendererText (), "text", 3);

                foreach (CombineConfigurationEntry ce in configuration.Entries)
                    store.AppendValues (ce, ce.Entry.Name, ce.Build, ce.ConfigurationName);
            }
        internal void NotifyEntryAdded(CombineEntry entry)
        {
            if (StartupEntry == null)
                StartupEntry = entry;

            if (Configurations.Count == 0) {
                foreach (IConfiguration pconf in entry.Configurations) {
                    if (pconf.Name == null)
                        continue;
                    CombineConfiguration cconf = new CombineConfiguration (pconf.Name);
                    Configurations.Add (cconf);
                    if (ActiveConfiguration == null)
                        ActiveConfiguration = cconf;
                }
            }

            foreach (CombineConfiguration conf in Configurations)
                conf.AddEntry (entry);

            combineExecuteDefinitions.Add (new CombineExecuteDefinition (entry, EntryExecuteType.None));

            if (eventsAllowed)
                OnEntryAdded (new CombineEntryEventArgs (entry));

            if (entry is Project)
            {
                Project project = entry as Project;
                project.FileRemovedFromProject += fileRemovedFromProjectHandler;
                project.FileAddedToProject += fileAddedToProjectHandler;
                project.FileChangedInProject += fileChangedInProjectHandler;
                project.FileRenamedInProject += fileRenamedInProjectHandler;
                project.ReferenceRemovedFromProject += referenceRemovedFromProjectHandler;
                project.ReferenceAddedToProject += referenceAddedToProjectHandler;
            }
            else if (entry is Combine)
            {
                Combine combine = entry as Combine;
                combine.FileRemovedFromProject += fileRemovedFromProjectHandler;
                combine.FileAddedToProject += fileAddedToProjectHandler;
                combine.FileChangedInProject += fileChangedInProjectHandler;
                combine.FileRenamedInProject += fileRenamedInProjectHandler;
                combine.ReferenceRemovedFromProject += referenceRemovedFromProjectHandler;
                combine.ReferenceAddedToProject += referenceAddedToProjectHandler;
            }
        }
 public override IConfiguration CreateConfiguration(string name)
 {
     CombineConfiguration cc = new CombineConfiguration ();
     cc.Name = name;
     return cc;
 }