#list of subs in gtablix modules...

-- xml.pm ----------------------------------

sub parse_xml {
sub get_file_type {
sub infos {			# osnovne informacije
sub params {		# podatki o modulih
sub subjects {		# podatki o predmetih in uciteljih
sub building {		# podatki o prostorih
sub timetable {		# podatki o urnikih
sub chromo {	# napolnimo globalno bazo urnikov uciteljev in razredov
sub beutify_rests {		# convert from (type1:data1;type1:data2) to (type1:data1,data2;type2:...)
sub getNamedItem {
sub generateXML { 	# generira XML (kdo bi si mislil... :)
sub XML_params {	# modules
sub XML_rooms {		# building
sub XML_tt {		# timetables
sub tt_output {
sub XML_chromo {	# chromo output
sub fet_hours {
sub fet_days {
sub fet_students {
sub fet_teachers {
sub fet_subjects {
sub fet_activities {
sub fet_equipment {			# these will become capability places
sub fet_rooms {
sub fet_time {

-- stats.pm --------------------------------

sub statistics { 
sub check_teacher_subject { 
sub check_building_rests {

-- plot.pm ----------------------------------

sub on_button_tablix_start_clicked {
sub success {
sub on_button_tablix_kill_clicked {
sub on_button_plot_now_clicked {
sub on_button_plus_y_clicked {
sub on_button_less_y_clicked {
sub on_button_norm_y_clicked {
sub on_entry_plot_style_changed { &on_button_plot_now_clicked; }

-- modinfo.pm -------------------------------

sub load_rests {		# vpise prave vrednosti za dialog_rests
sub ok_rests {
sub close_rests {	
sub on_treeview_rests_cursor_changed {
sub load_rests_editor {
sub draw_rests_editor {

-- helpers.pm -------------------------------

sub gtk_main_quit { exit 0; }
sub check {
sub check_opts {
sub check_deps {
sub find_browser {
sub prep_tvs { 
sub set_module_path {	# Extract module path from "tablix -v" output and set
sub get_filename {
sub strip_commas { 	# odstej podniz in/ali pobrisi podvojene, vodilne ali zadnje vejice v nizu
sub get_process {
sub get_format {
sub find_clist_row {	# poisce vrstico v clisti, ki ima v prvi celici vpisan dan podatek
sub select_row {
sub del_row {
sub add_row {	
sub combo_change {

-- gui.pm -----------------------------------

sub on_togglebutton_fold_tt_toggled {
sub on_togglebutton_fold_teachers_toggled {
sub folding {
sub write_to_statusbar {
sub on_button_mod_opts_use_clicked {
sub on_button_modpathuse_clicked { &load_modules; }
sub on_button_save_plot_clicked {
sub on_about1_activate { 
sub on_manual1_activate { 
sub menu_import {
sub menu_export {
sub on_clusterconf1_activate { 
sub on_check1_activate { &on_toolbutton_test_clicked }
sub on_toolbutton_new_clicked { &on_clear1_activate; }
sub on_toolbutton_open_clicked { &on_open1_activate; }
sub on_toolbutton_save_clicked { &on_save1_activate; }
sub on_toolbutton_saveas_clicked { &on_save_as1_activate; }
sub on_toolbutton_quit_clicked { &on_quit1_activate; }
sub mod_desc {
sub on_open1_activate { 
sub on_save1_activate {
sub on_save_as1_activate { 
sub on_clear1_activate {
sub on_quit1_activate {
sub on_statistics1_activate { &statistics(&get_form); } 
sub on_toolbutton_test_clicked { &do_internal_test(&get_form); }
sub on_toolbutton_stats_clicked { &statistics(&get_form); }
sub on_toolbutton_use_clicked { 	# add the combination of selected teacher-subject-class-room to timetable definition
sub on_toggletoolbutton_options_toggled {
sub on_toolbutton_help_clicked { &on_manual1_activate; }
sub on_treeview_teachers_cursor_changed { &select_row("teacher"); }
sub on_button_teachers_del_clicked { &del_row("teachers"); } 
sub on_button_teachers_use_clicked { &add_row("teacher"); }
sub on_button_teacher_add_subject_clicked {
sub on_button_teacher_rests_clicked { &load_rests("teacher",\%modules,&get_form); }	# the same restrictions as for subjects
sub on_treeview_teachers_button_press_event { if ($_[1]->button == 3) {	&load_rests("teacher",\%modules,&get_form); }}
sub on_treeview_subjects_cursor_changed { &select_row("subject"); }
sub on_button_subjects_del_clicked { &del_row("subjects"); }
sub on_button_subjects_use_clicked { &add_row("subject"); }
sub on_button_subjects_rests_clicked { &load_rests("subject",\%modules,&get_form); }
sub on_treeview_subjects_button_release_event { if (($_[1]->button == 3)) { &load_rests("subject",\%modules,&get_form);	} }
sub on_treeview_classrooms_cursor_changed { &select_row("classroom");}
sub on_button_rooms_del_clicked { &del_row("classrooms"); }
sub on_button_rooms_use_clicked { &add_row("classroom"); } 
sub on_button_rooms_rests_clicked { &load_rests("classroom",\%modules,&get_form); }
sub on_treeview_classrooms_button_press_event { if (($_[1]->button == 3)) { &load_rests("classroom",\%modules,&get_form);}}
sub on_treeview_classes_cursor_changed { &select_row("class");}
sub on_button_classes_del_clicked { &del_row("classs"); }
sub on_button_classes_use_clicked { &add_row("class"); } 
sub on_button_classes_rests_clicked { &load_rests("class",\%modules,&get_form); }
sub on_treeview_classs_button_press_event { if ($_[1]->button == 3) { &load_rests("class",\%modules,&get_form);}}
sub on_treeview_tt_cursor_changed { &select_row("tt"); }
sub on_button_tt_rests_clicked {	&load_rests("tt",\%modules,$form); }
sub on_treeview_tt_button_press_event { if (($_[1]->button == 3)) { &load_rests("tt",\%modules,&get_form);}}
sub on_button_tt_del_clicked { &del_row("tt"); } 
sub on_button_tt_use_clicked {
sub on_checkbutton_additive_toggled {

-- gtablix.pl --------------------------------

sub load_modules { 		# Load accesible modules and descriptions into "modules" clist.
sub on_treeview_modules_cursor_changed {		# output the apropriate description
sub get_form { return $form; }
sub get_vars { return ($form,$tempdir,\%defined_tt_entries,\%uid_tt_entries); }
sub get_rest_type {
sub save_file {		# shrani datoteko
sub import {
sub export {
sub build_uids {
sub get_when {
sub clear_all {		# reset everything to default values
sub on_button_tt_save_clicked {		# save manual changes
sub on_button_export_tt_clicked {
sub save_all_tt {
sub html_result {
sub on_button_change_tt_clicked {
sub check_module {

-- check.pm ------------------------------------

sub do_internal_test {  
sub check_teacher_subject {
sub check_building_rests {
