X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=Ticket.vala;fp=Ticket.vala;h=9857b7ffa54f5301be2d3cd9a7ed9ebb762bc62f;hp=0000000000000000000000000000000000000000;hb=424eebf8a96c11d28b3da871c3e1560638d3511f;hpb=2ac46b7e5e54b5382df0c55b865e47a9937e15f8 diff --git a/Ticket.vala b/Ticket.vala new file mode 100644 index 00000000..9857b7ff --- /dev/null +++ b/Ticket.vala @@ -0,0 +1,1240 @@ +static Ticket _Ticket; + +public class Ticket : Object +{ + public Gtk.Dialog el; + private Ticket _this; + + public static Ticket singleton() + { + if (_Ticket == null) { + _Ticket= new Ticket(); + } + return _Ticket; + } + public Xcls_project_id project_id; + public Xcls_prcellrenderer prcellrenderer; + public Xcls_prmodel prmodel; + public Xcls_summary summary; + public Xcls_milestone_id milestone_id; + public Xcls_msmodel msmodel; + public Xcls_description description; + public Xcls_priority_id priority_id; + public Xcls_primodel primodel; + public Xcls_severity_id severity_id; + public Xcls_sevmodel sevmodel; + public Xcls_classification_id classification_id; + public Xcls_clmodel clmodel; + public Xcls_developer_id developer_id; + public Xcls_devmodel devmodel; + + // my vars (def) + public GitRepo? repo; + public bool running; + + // ctor + public Ticket() + { + _this = this; + this.el = new Gtk.Dialog(); + + // my vars (dec) + this.repo = null; + this.running = false; + + // set gobject values + this.el.title = "Create a Ticket"; + this.el.default_height = 200; + this.el.default_width = 500; + this.el.deletable = true; + this.el.modal = true; + var child_0 = new Xcls_VBox2( _this ); + child_0.ref(); + this.el.get_content_area().add ( child_0.el ); + + //listeners + this.el.delete_event.connect( (self, event) => { + this.el.hide(); + return true; + //test + }); + this.el.response.connect( (self, response_id) => { + + GLib.debug("got %d", (int) response_id); + if (response_id < 1) { + _this.el.hide(); + this.running = false; + return; + } + + + var tid = RooTicket.singleton().createTicket( + + _this.project_id.selectedProjectId(), + + _this.milestone_id.selectedMilestoneId(), + _this.priority_id.selectedPriorityId() , + _this.classification_id.selectedClassificationId() , + _this.developer_id.selectedDeveloperId(), + _this.summary.el.get_text() , + _this.description.el.buffer.text + ); + + if (this.repo != null) { + NewBranch.singleton().show(this.repo, new Gee.ArrayList(), tid); + } + + + + }); + } + + // user defined functions + public void show ( GitRepo? repo ) + { + // this.el.set_gravity(Gdk.Gravity.NORTH); + if (this.running) { // should not happen!! + GLib.error("new branch show called, when already being displayed?"); + } + + + this.running = true; + //GitMonitor.gitmonitor.stop(); + + this.repo = repo; + + + + + this.el.move((Gdk.Screen.width() / 2)- 250 ,0); + this.el.set_default_size( 500,200); // not sure why it grows.. + GLib.debug("Loading tickets"); + + + this.el.show_all(); + this.el.set_keep_above(true); + + + RooProject? curproj = null; + if (this.repo != null) { + curproj = RooTicket.singleton().getProjectByRepo(this.repo); + } + _this.prmodel.loadProjects(curproj == null ? "" : curproj.id); + + + this.el.run(); + + } + public class Xcls_VBox2 : Object + { + public Gtk.VBox el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_VBox2(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.VBox( true, 0 ); + + // my vars (dec) + + // set gobject values + var child_0 = new Xcls_Table3( _this ); + child_0.ref(); + this.el.pack_start ( child_0.el , false,false,0 ); + } + + // user defined functions + } + public class Xcls_Table3 : Object + { + public Gtk.Table el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Table3(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Table( 14, 4, true ); + + // my vars (dec) + + // set gobject values + this.el.expand = false; + this.el.margin = 2; + this.el.column_spacing = 4; + this.el.vexpand = false; + var child_0 = new Xcls_Label4( _this ); + child_0.ref(); + this.el.attach_defaults ( child_0.el , 0,1,0,1 ); + var child_1 = new Xcls_Label5( _this ); + child_1.ref(); + this.el.attach_defaults ( child_1.el , 1,2,0,1 ); + var child_2 = new Xcls_project_id( _this ); + child_2.ref(); + this.el.attach_defaults ( child_2.el , 0,1,1,2 ); + var child_3 = new Xcls_summary( _this ); + child_3.ref(); + this.el.attach_defaults ( child_3.el , 1,4,1,2 ); + var child_4 = new Xcls_Label10( _this ); + child_4.ref(); + this.el.attach_defaults ( child_4.el , 0,1,2,3 ); + var child_5 = new Xcls_milestone_id( _this ); + child_5.ref(); + this.el.attach_defaults ( child_5.el , 0,1,3,4 ); + var child_6 = new Xcls_Label13( _this ); + child_6.ref(); + this.el.attach_defaults ( child_6.el , 1,4,2,3 ); + var child_7 = new Xcls_description( _this ); + child_7.ref(); + this.el.attach_defaults ( child_7.el , 1,4,3,12 ); + var child_8 = new Xcls_Label15( _this ); + child_8.ref(); + this.el.attach_defaults ( child_8.el , 0,1,4,5 ); + var child_9 = new Xcls_priority_id( _this ); + child_9.ref(); + this.el.attach_defaults ( child_9.el , 0,1,5,6 ); + var child_10 = new Xcls_Label18( _this ); + child_10.ref(); + this.el.attach_defaults ( child_10.el , 0,1,6,7 ); + var child_11 = new Xcls_severity_id( _this ); + child_11.ref(); + this.el.attach_defaults ( child_11.el , 0,1,7,8 ); + var child_12 = new Xcls_Label21( _this ); + child_12.ref(); + this.el.attach_defaults ( child_12.el , 0,1,8,9 ); + var child_13 = new Xcls_classification_id( _this ); + child_13.ref(); + this.el.attach_defaults ( child_13.el , 0,1,9,10 ); + var child_14 = new Xcls_Label24( _this ); + child_14.ref(); + this.el.attach_defaults ( child_14.el , 0,1,10,11 ); + var child_15 = new Xcls_developer_id( _this ); + child_15.ref(); + this.el.attach_defaults ( child_15.el , 0,1,11,12 ); + var child_16 = new Xcls_Button27( _this ); + child_16.ref(); + this.el.attach_defaults ( child_16.el , 0,4,13,14 ); + } + + // user defined functions + } + public class Xcls_Label4 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label4(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Project" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + this.el.visible = true; + } + + // user defined functions + } + + public class Xcls_Label5 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label5(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Summary" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + this.el.visible = true; + } + + // user defined functions + } + + public class Xcls_project_id : Object + { + public Gtk.ComboBox el; + private Ticket _this; + + + // my vars (def) + public bool loading; + + // ctor + public Xcls_project_id(Ticket _owner ) + { + _this = _owner; + _this.project_id = this; + this.el = new Gtk.ComboBox.with_entry(); + + // my vars (dec) + this.loading = false; + + // set gobject values + var child_0 = new Xcls_prcellrenderer( _this ); + child_0.ref(); + this.el.pack_start ( child_0.el , true ); + var child_1 = new Xcls_prmodel( _this ); + child_1.ref(); + this.el.set_model ( child_1.el ); + + // init method + + this.el.set_entry_text_column(1); + + //listeners + this.el.changed.connect( () => { + if (this.loading) { + return; + } + var project_id = this.selectedProjectId(); + + var rt = RooTicket.singleton(); + rt.loadProjectOptions(project_id); + + _this.msmodel.loadMilestones(); + _this.primodel.loadPriorities(); + _this.sevmodel.loadSeverities(); + _this.clmodel.loadClassifications(); + _this.devmodel.loadDevelopers(); + + // affects projects and milestones.. + + + /*if (this.loading) { + return; + } + var ticket_id = this.selectedTicketId(); + + var name = RooTicket.singleton().usernameLocal(); + + if (ticket_id == "" || ticket_id == null) { + + var dt = new DateTime.now_local(); + _this.name.el.set_text("wip_%s_%s".printf(name,dt.format("%Y_%b_%d"))); + return; + } + + + var ticket = RooTicket.singleton().getById(ticket_id); + + _this.name.el.set_text("wip_%s_T%s_%s".printf(name,ticket.id, ticket.summaryToBranchName())); + + //GLib.debug (//"Selection: %s, %s\n", (string) val1, (string) val2); + */ + }); + } + + // user defined functions + public string selectedProjectId () { + Gtk.TreeIter iter; + Value val1; + + + this.el.get_active_iter (out iter); + _this.prmodel.el.get_value (iter, 0, out val1); + + + return (string) val1; + + + + + } + } + public class Xcls_prcellrenderer : Object + { + public Gtk.CellRendererText el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_prcellrenderer(Ticket _owner ) + { + _this = _owner; + _this.prcellrenderer = this; + this.el = new Gtk.CellRendererText(); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + } + + public class Xcls_prmodel : Object + { + public Gtk.ListStore el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_prmodel(Ticket _owner ) + { + _this = _owner; + _this.prmodel = this; + this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public void loadProjects (string id) { + + var rt = RooTicket.singleton(); + rt.loadProjects(); + + _this.project_id.loading = true; + + this.el.clear(); + Gtk.TreeIter iter; + var el = this.el; + + el.append(out iter); + + + el.set_value(iter, 0, ""); + el.set_value(iter, 1, "-- select a project --"); + if (id == "") { + _this.project_id.el.set_active_iter(iter); + } + var projects = rt.projects; + foreach(var project in projects) { + + el.append(out iter); + + el.set_value(iter, 0, project.id); + el.set_value(iter, 1, project.name ); + if (id == project.id) { + _this.project_id.el.set_active_iter(iter); + } + + } + + _this.project_id.loading = false; + //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); + + } + } + + + public class Xcls_summary : Object + { + public Gtk.Entry el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_summary(Ticket _owner ) + { + _this = _owner; + _this.summary = this; + this.el = new Gtk.Entry(); + + // my vars (dec) + + // set gobject values + this.el.visible = true; + } + + // user defined functions + } + + public class Xcls_Label10 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label10(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Milestone" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + this.el.justify = Gtk.Justification.RIGHT; + this.el.xalign = 0.900000f; + } + + // user defined functions + } + + public class Xcls_milestone_id : Object + { + public Gtk.ComboBox el; + private Ticket _this; + + + // my vars (def) + public bool loading; + + // ctor + public Xcls_milestone_id(Ticket _owner ) + { + _this = _owner; + _this.milestone_id = this; + this.el = new Gtk.ComboBox.with_entry(); + + // my vars (dec) + this.loading = false; + + // set gobject values + var child_0 = new Xcls_msmodel( _this ); + child_0.ref(); + this.el.set_model ( child_0.el ); + + // init method + + this.el.set_entry_text_column(1); + } + + // user defined functions + public string selectedMilestoneId () { + Gtk.TreeIter iter; + Value val1; + + + this.el.get_active_iter (out iter); + _this.msmodel.el.get_value (iter, 0, out val1); + + + return (string) val1; + + + + + } + } + public class Xcls_msmodel : Object + { + public Gtk.ListStore el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_msmodel(Ticket _owner ) + { + _this = _owner; + _this.msmodel = this; + this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public void loadMilestones ( ) { + + var rt = RooTicket.singleton(); + // rt.loadProjects(); + + _this.milestone_id.loading = true; + + this.el.clear(); + Gtk.TreeIter iter; + var el = this.el; + + el.append(out iter); + + + el.set_value(iter, 0, ""); + el.set_value(iter, 1, "-- select a milestone --"); + _this.milestone_id.el.set_active_iter(iter); + + var projects = rt.milestones; + foreach(var project in projects) { + + el.append(out iter); + + el.set_value(iter, 0, project.id); + el.set_value(iter, 1, project.display_name ); + // if (id == project.id) { + // _this.milestone.el.set_active_iter(iter); + // } + + } + + + _this.milestone_id.loading = false; + //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); + + } + } + + + public class Xcls_Label13 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label13(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Description" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + } + + // user defined functions + } + + public class Xcls_description : Object + { + public Gtk.TextView el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_description(Ticket _owner ) + { + _this = _owner; + _this.description = this; + this.el = new Gtk.TextView(); + + // my vars (dec) + + // set gobject values + this.el.border_width = 1; + } + + // user defined functions + } + + public class Xcls_Label15 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label15(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Priority" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + this.el.xalign = 0.900000f; + } + + // user defined functions + } + + public class Xcls_priority_id : Object + { + public Gtk.ComboBox el; + private Ticket _this; + + + // my vars (def) + public bool loading; + + // ctor + public Xcls_priority_id(Ticket _owner ) + { + _this = _owner; + _this.priority_id = this; + this.el = new Gtk.ComboBox.with_entry(); + + // my vars (dec) + this.loading = false; + + // set gobject values + var child_0 = new Xcls_primodel( _this ); + child_0.ref(); + this.el.set_model ( child_0.el ); + + // init method + + this.el.set_entry_text_column(1); + } + + // user defined functions + public string selectedPriorityId () { + Gtk.TreeIter iter; + Value val1; + + + this.el.get_active_iter (out iter); + _this.primodel.el.get_value (iter, 0, out val1); + + + return (string) val1; + + + + + } + } + public class Xcls_primodel : Object + { + public Gtk.ListStore el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_primodel(Ticket _owner ) + { + _this = _owner; + _this.primodel = this; + this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public void loadPriorities ( ) { + + var rt = RooTicket.singleton(); + // rt.loadProjects(); + + _this.priority_id.loading = true; + + this.el.clear(); + Gtk.TreeIter iter; + var el = this.el; + + + var projects = rt.priorities; + foreach(var project in projects) { + + el.append(out iter); + + el.set_value(iter, 0, project.id); + el.set_value(iter, 1, project.display_name ); + if ("normal" == project.name) { + _this.priority_id.el.set_active_iter(iter); + } + + } + + _this.priority_id.loading = false; + + + } + } + + + public class Xcls_Label18 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label18(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Severity" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + } + + // user defined functions + } + + public class Xcls_severity_id : Object + { + public Gtk.ComboBox el; + private Ticket _this; + + + // my vars (def) + public bool loading; + + // ctor + public Xcls_severity_id(Ticket _owner ) + { + _this = _owner; + _this.severity_id = this; + this.el = new Gtk.ComboBox.with_entry(); + + // my vars (dec) + this.loading = false; + + // set gobject values + var child_0 = new Xcls_sevmodel( _this ); + child_0.ref(); + this.el.set_model ( child_0.el ); + + // init method + + this.el.set_entry_text_column(1); + } + + // user defined functions + public string selectedSeverityId () { + Gtk.TreeIter iter; + Value val1; + + + this.el.get_active_iter (out iter); + _this.sevmodel.el.get_value (iter, 0, out val1); + + + return (string) val1; + + + + + } + } + public class Xcls_sevmodel : Object + { + public Gtk.ListStore el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_sevmodel(Ticket _owner ) + { + _this = _owner; + _this.sevmodel = this; + this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public void loadSeverities () { + + var rt = RooTicket.singleton(); + //rt.loadProjects(); + + _this.severity_id.loading = true; + + this.el.clear(); + Gtk.TreeIter iter; + var el = this.el; + + var projects = rt.serverities; + foreach(var project in projects) { + + el.append(out iter); + + el.set_value(iter, 0, project.id); + el.set_value(iter, 1, project.display_name ); + if ("normal" == project.name) { + _this.severity_id.el.set_active_iter(iter); + } + + } + + _this.severity_id.loading = false; + //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); + + } + } + + + public class Xcls_Label21 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label21(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Classification" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + } + + // user defined functions + } + + public class Xcls_classification_id : Object + { + public Gtk.ComboBox el; + private Ticket _this; + + + // my vars (def) + public bool loading; + + // ctor + public Xcls_classification_id(Ticket _owner ) + { + _this = _owner; + _this.classification_id = this; + this.el = new Gtk.ComboBox.with_entry(); + + // my vars (dec) + this.loading = false; + + // set gobject values + var child_0 = new Xcls_clmodel( _this ); + child_0.ref(); + this.el.set_model ( child_0.el ); + + // init method + + this.el.set_entry_text_column(1); + } + + // user defined functions + public string selectedClassificationId () { + Gtk.TreeIter iter; + Value val1; + + + this.el.get_active_iter (out iter); + _this.clmodel.el.get_value (iter, 0, out val1); + + + return (string) val1; + + + + + } + } + public class Xcls_clmodel : Object + { + public Gtk.ListStore el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_clmodel(Ticket _owner ) + { + _this = _owner; + _this.clmodel = this; + this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public void loadClassifications ( ) { + + var rt = RooTicket.singleton(); + // rt.loadProjects(); + + _this.classification_id.loading = true; + + this.el.clear(); + Gtk.TreeIter iter; + var el = this.el; + + el.append(out iter); + + + var projects = rt.classifications; + foreach(var project in projects) { + + el.append(out iter); + + el.set_value(iter, 0, project.id); + el.set_value(iter, 1, project.display_name ); + if ("bug" == project.name) { + _this.classification_id.el.set_active_iter(iter); + } + + } + + _this.classification_id.loading = false; + //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); + + } + } + + + public class Xcls_Label24 : Object + { + public Gtk.Label el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Label24(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Label( "Assign to" ); + + // my vars (dec) + + // set gobject values + this.el.halign = Gtk.Align.START; + } + + // user defined functions + } + + public class Xcls_developer_id : Object + { + public Gtk.ComboBox el; + private Ticket _this; + + + // my vars (def) + public bool loading; + + // ctor + public Xcls_developer_id(Ticket _owner ) + { + _this = _owner; + _this.developer_id = this; + this.el = new Gtk.ComboBox.with_entry(); + + // my vars (dec) + this.loading = false; + + // set gobject values + var child_0 = new Xcls_devmodel( _this ); + child_0.ref(); + this.el.set_model ( child_0.el ); + + // init method + + this.el.set_entry_text_column(1); + } + + // user defined functions + public string selectedDeveloperId () { + Gtk.TreeIter iter; + Value val1; + + + this.el.get_active_iter (out iter); + _this.devmodel.el.get_value (iter, 0, out val1); + + + return (string) val1; + + + + + } + } + public class Xcls_devmodel : Object + { + public Gtk.ListStore el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_devmodel(Ticket _owner ) + { + _this = _owner; + _this.devmodel = this; + this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) ); + + // my vars (dec) + + // set gobject values + } + + // user defined functions + public void loadDevelopers ( ) { + + var rt = RooTicket.singleton(); + //rt.loadProjects(); + + _this.developer_id.loading = true; + + this.el.clear(); + Gtk.TreeIter iter; + var el = this.el; + + el.append(out iter); + + + el.set_value(iter, 0, ""); + el.set_value(iter, 1, "-- select a developer --"); + // if (id == "") { + _this.developer_id.el.set_active_iter(iter); + // } + + var projects = rt.developers; + foreach(var project in projects) { + + el.append(out iter); + + el.set_value(iter, 0, project.id); + el.set_value(iter, 1, project.display_name ); + // if (id == project.id) { + // _this.projectsel.el.set_active_iter(iter); + // } + + } + + _this.developer_id.loading = false; + //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING); + + } + } + + + public class Xcls_Button27 : Object + { + public Gtk.Button el; + private Ticket _this; + + + // my vars (def) + + // ctor + public Xcls_Button27(Ticket _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Create Ticket"; + + // init method + + { + this.el.get_style_context().add_class("suggested-action"); + } + + //listeners + this.el.clicked.connect( () => { + GLib.debug("fire response = 1"); + + + var invalid = false; + + // validate first... + _this.project_id.el.get_child().get_style_context().remove_class("warning"); + if (_this.project_id.selectedProjectId() == "") { + _this.project_id.el.get_child().get_style_context().add_class("warning"); + invalid = true; + } + + _this.milestone_id.el.get_child().get_style_context().remove_class("warning"); + if (_this.milestone_id.selectedMilestoneId() == "") { + _this.milestone_id.el.get_child().get_style_context().add_class("warning"); + invalid = true; + } + + _this.priority_id.el.get_child().get_style_context().remove_class("warning"); + if (_this.priority_id.selectedPriorityId() == "") { + _this.priority_id.el.get_child().get_style_context().add_class("warning"); + invalid = true; + } + + _this.classification_id.el.get_child().get_style_context().remove_class("warning"); + if (_this.classification_id.selectedClassificationId() == "") { + _this.classification_id.el.get_child().get_style_context().add_class("warning"); + invalid = true; + } + + _this.developer_id.el.get_child().get_style_context().remove_class("warning"); + if (_this.developer_id.selectedDeveloperId() == "") { + _this.developer_id.el.get_child().get_style_context().add_class("warning"); + invalid = true; + } + + _this.summary.el.get_style_context().remove_class("warning"); + if (_this.summary.el.get_text() == "") { + _this.summary.el.get_style_context().add_class("warning"); + invalid = true; + } + + _this.description.el.get_style_context().remove_class("warning"); + if (_this.description.el.buffer.text == "") { + _this.description.el.get_style_context().add_class("warning"); + invalid = true; + } + + + if (invalid) { + return; + } + GLib.debug("for is valid"); + + _this.el.response(1); + }); + } + + // user defined functions + } + + + +}