示例#1
0
    private void on_delete_selected_row_clicked(object o, EventArgs args)
    {
        int uniqueID = UtilGtk.GetSelectedRowUniqueID(
            treeview_load, store_load, store_load_uniqueID_col);

        if (uniqueID > 0)
        {
            Sqlite.Delete(false, Constants.ExecuteAutoTable, uniqueID);
            store_load            = UtilGtk.RemoveRow(treeview_load, store_load);
            button_next.Sensitive = false;
        }
    }
示例#2
0
    EditReactionTimeWindow(Gtk.Window parent)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "edit_event.glade", "edit_event", "chronojump");
        gladeXML.Autoconnect(this);
        this.parent = parent;

        //put an icon to window
        UtilGtk.IconWindow(edit_event);

        eventBigTypeString = Catalog.GetString("reaction time");
    }
示例#3
0
    private void createComboEvaluators()
    {
        combo_evaluators = ComboBox.NewText();

        //first value (any) should be translated
        evaluators[0] = Constants.AnyID.ToString() + ":" + Catalog.GetString(Constants.Any);

        UtilGtk.ComboUpdate(combo_evaluators, evaluators, "");
        combo_evaluators.Active   = UtilGtk.ComboMakeActive(combo_evaluators, Catalog.GetString(Constants.Any));
        combo_evaluators.Changed += new EventHandler(on_combo_other_changed);
        UtilGtk.ComboPackShowAndSensitive(hbox_combo_evaluators, combo_evaluators);
    }
示例#4
0
    RunTypeAddWindow(Gtk.Window parent, bool simple)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "run_type_add.glade", "run_type_add", "chronojump");
        gladeXML.Autoconnect(this);
        run_type_add.Parent = parent;

        fakeButtonAccept = new Gtk.Button();

        //put an icon to window
        UtilGtk.IconWindow(run_type_add);
    }
示例#5
0
    public Gtk.Button FakeButtonAccept;     //to return orderedData

    public ExecuteAutoWindow(Gtk.Window parent)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "chronojump.glade", "execute_auto", null);
        gladeXML.Autoconnect(this);
        this.parent = parent;

        //put an icon to window
        UtilGtk.IconWindow(execute_auto);

        FakeButtonAccept = new Gtk.Button();
    }
示例#6
0
    public ChronopicRegisterWindow(Gtk.Window app1, List <ChronopicRegisterPort> list)
    {
        createWindow(app1);
        //put an icon to window
        UtilGtk.IconWindow(chronopic_register_win);

        createVBoxMain();
        createContent(list);
        createButtons();

        chronopic_register_win.ShowAll();
    }
示例#7
0
    private void on_combo_changed(object o, EventArgs args)
    {
        ComboBox combo = o as ComboBox;

        if (o == null)
        {
            return;
        }

        //combo is not sensitive when it has been connected
        //this helps to have button_connect with correct sensitiveness after close window
        //also help to not have lots of callbacks coming here about encoder combos
        if (!combo.Sensitive)
        {
            return;
        }

        bool portOk = true;

        if (UtilGtk.ComboGetActive(combo) == Constants.ChronopicDefaultPortWindows ||
            UtilGtk.ComboGetActive(combo) == Constants.ChronopicDefaultPortLinux)
        {
            portOk = false;
        }

        if (o == combo_linux1 || o == combo_windows1)
        {
            button_connect_cp1.Sensitive = portOk;
        }
        else if (o == combo_linux2 || o == combo_windows2)
        {
            button_connect_cp2.Sensitive = portOk;
        }
        else if (o == combo_linux3 || o == combo_windows3)
        {
            button_connect_cp3.Sensitive = portOk;
        }
        else if (o == combo_linux4 || o == combo_windows4)
        {
            button_connect_cp4.Sensitive = portOk;
        }
        else if (o == combo_windows_encoder)
        {
            combo_windows_encoder.Changed -= new EventHandler(on_combo_changed);
            encoderPort = UtilGtk.ComboGetActive(combo);
        }
        else if (o == combo_linux_encoder)
        {
            combo_linux_encoder.Changed -= new EventHandler(on_combo_changed);
            encoderPort = UtilGtk.ComboGetActive(combo);
        }
    }
示例#8
0
    private bool on_button_sprint_do()
    {
        button_sprint_save_image.Sensitive = false;
        if (currentPersonSession.Weight == 0)
        {
            new DialogMessage(Constants.MessageTypes.WARNING,
                              Catalog.GetString("Error, weight of the person cannot be 0"));
            return(false);
        }

        if (currentPersonSession.Height == 0)
        {
            new DialogMessage(Constants.MessageTypes.WARNING,
                              Catalog.GetString("Error, height of the person cannot be 0"));
            return(false);
        }

        if (!sprint.IsDataOk())
        {
            new DialogMessage(Constants.MessageTypes.WARNING,
                              Catalog.GetString("This data does not seem a sprint.") + "\n\n" +
                              sprint.ErrorMessage);
            return(false);
        }

        Util.FileDelete(UtilEncoder.GetSprintImage());

        image_sprint.Sensitive = false;

        bool success = sprint.CallR(
            viewport_sprint.Allocation.Width - 5,
            viewport_sprint.Allocation.Height - 5,
            currentPerson.Name);

        if (!success)
        {
            new DialogMessage(Constants.MessageTypes.WARNING, Catalog.GetString("This data does not seem a sprint."));
            return(false);
        }

        while (!Util.FileReadable(UtilEncoder.GetSprintImage()))
        {
            ;
        }

        image_sprint = UtilGtk.OpenImageSafe(
            UtilEncoder.GetSprintImage(),
            image_sprint);
        image_sprint.Sensitive             = true;
        button_sprint_save_image.Sensitive = true;
        return(true);
    }
示例#9
0
    EditMultiChronopicWindow(Gtk.Window parent)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "edit_event.glade", "edit_event", "chronojump");
        gladeXML.Autoconnect(this);
        this.parent = parent;

        //put an icon to window
        UtilGtk.IconWindow(edit_event);

        eventBigTypeString = Catalog.GetString("multi chronopic");
        headerShowDecimal  = false;
    }
示例#10
0
    private void on_combo_all_none_selected_changed(object o, EventArgs args)
    {
        string myText = UtilGtk.ComboGetActive(combo_all_none_selected);

        if (myText != "" & myText != Catalog.GetString("Selected"))
        {
            try {
                markSelected(myText);
            } catch {
                LogB.Warning("Do later!!");
            }
        }
    }
示例#11
0
    public ErrorWindow(string text1)
    {
        LogB.Information("At error window2");
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "error_window.glade", "error_window", "chronojump");
        gladeXML.Autoconnect(this);

        //put an icon to window
        UtilGtk.IconWindow(error_window);

        label1.Text      = text1;
        label1.UseMarkup = true;
    }
    void showWidgets(Constants.BellModes bellMode, Constants.EncoderVariablesCapture encoderMainVariable, EncoderRhythm encoderRhythm)
    {
        frame_best_and_worst.Hide();
        frame_conditions.Hide();
        hbox_jump_best_worst.Hide();
        hbox_run_best_worst.Hide();
        hbox_jump_conditions.Hide();
        hbox_run_conditions.Hide();
        frame_encoder_automatic_conditions.Hide();
        vbox_encoder_manual.Hide();
        notebook_encoder_conditions.Hide();
        vbox_encoder_stuff.Hide();

        notebook_main.GetNthPage(RHYTHMPAGE).Hide();
        notebook_main.ShowTabs = false;

        if (bellMode == Constants.BellModes.JUMPS)
        {
            frame_best_and_worst.Show();
            hbox_jump_best_worst.Show();
            hbox_jump_conditions.Show();
            frame_conditions.Show();
        }
        else if (bellMode == Constants.BellModes.RUNS)
        {
            frame_best_and_worst.Show();
            hbox_run_best_worst.Show();
            hbox_run_conditions.Show();
            frame_conditions.Show();
        }
        else             //encoder (grav and inertial)
        {
            vbox_encoder_stuff.Show();
            frame_encoder_automatic_conditions.Show();
            notebook_main.ShowTabs = true;

            vbox_encoder_manual.Show();
            if (checkbutton_encoder_show_manual_feedback.Active)
            {
                notebook_encoder_conditions.Show();
            }

            combo_encoder_main_variable.Active = UtilGtk.ComboMakeActive(combo_encoder_main_variable,
                                                                         Constants.GetEncoderVariablesCapture(encoderMainVariable));

            notebook_main.GetNthPage(RHYTHMPAGE).Show();
            encoder_rhythm_set_values(encoderRhythm);
        }

        label_test_sound_result.Text = "";
    }
示例#13
0
    public ChronopicWindow(Chronopic cpDetected, ArrayList myCpd)
    {
        LogB.Debug("constructor");

        Glade.XML gxml;
        gxml = Glade.XML.FromAssembly(Util.GetGladePath() + "chronojump.glade", "chronopic_window", "chronojump");
        gxml.Autoconnect(this);

        cpd = myCpd;

        if (cpDetected != null)
        {
            cp = cpDetected;
            sp = new SerialPort(((ChronopicPortData)cpd[0]).Port);
        }

        UtilGtk.IconWindow(chronopic_window);

        if (UtilAll.IsWindows())
        {
            isWindows = true;
        }
        else
        {
            isWindows = false;
        }

        setDefaultValues();

        chronopicInit = new ChronopicInit();

        //Pixbuf pixbuf = new Pixbuf (null, Util.GetImagePath(false) + "chronopic_128.png");
        //chronopic_image.Pixbuf = pixbuf;

        /*
         * Pixbuf pixbuf;
         * pixbuf = new Pixbuf (null, Util.GetImagePath(true) + Constants.FileNameContactPlatformModular);
         * image_contact_modular.Pixbuf = pixbuf;
         * pixbuf = new Pixbuf (null, Util.GetImagePath(true) + Constants.FileNameInfrared);
         * image_infrared.Pixbuf = pixbuf;
         */

        /*
         * if(chronopicPort1 != Constants.ChronopicDefaultPortWindows &&
         *              (chronopicPort1 != Constants.ChronopicDefaultPortLinux && File.Exists(chronopicPort1))
         * ) {
         *      ConfirmWindow confirmWin = ConfirmWindow.Show(Catalog.GetString("Do you want to connect to Chronopic now?"), "", "");
         *      confirmWin.Button_accept.Clicked += new EventHandler(chronopicAtStart);
         * }
         */
    }
示例#14
0
    PersonSelectWindow(Gtk.Window parent)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "chronojump.glade", "person_select_window", "chronojump");
        gladeXML.Autoconnect(this);

        //put an icon to window
        UtilGtk.IconWindow(person_select_window);

        FakeButtonAddPerson    = new Gtk.Button();
        FakeButtonEditPerson   = new Gtk.Button();
        FakeButtonDeletePerson = new Gtk.Button();
        FakeButtonDone         = new Gtk.Button();
    }
示例#15
0
    void on_entries_required_changed(object o, EventArgs args)
    {
        bool allOk = true;

        if (UtilGtk.ComboGetActive(combo_test_types) != Catalog.GetString(Constants.UndefinedDefault))
        {
            image_test_type.Hide();
            combo_tests.Sensitive     = true;
            combo_variables.Sensitive = true;
        }
        else
        {
            image_test_type.Show();
            combo_tests.Sensitive     = false;
            combo_variables.Sensitive = false;
            allOk = false;
        }

        //a continent cannot be searched without selecting the country
        if (UtilGtk.ComboGetActive(combo_continents) == Catalog.GetString(Constants.Any))
        {
            combo_countries.Sensitive = false;
            image_country.Hide();
        }
        else
        {
            combo_countries.Sensitive = true;
            if (UtilGtk.ComboGetActive(combo_countries) == Catalog.GetString(Constants.UndefinedDefault))
            {
                image_country.Show();
                allOk = false;
            }
            else
            {
                image_country.Hide();
            }
        }


        if (allOk)
        {
            textViewUpdate(sqlBuildSelect(false));
            button_search.Sensitive = true;
        }
        else
        {
            textViewUpdate("");
            button_search.Sensitive = false;
        }
    }
示例#16
0
    void on_button_accept_clicked(object o, EventArgs args)
    {
        int    eventID  = Convert.ToInt32(label_event_id_value.Text);
        string myPerson = UtilGtk.ComboGetActive(combo_persons);

        string [] myPersonFull = myPerson.Split(new char[] { ':' });

        string myDesc = entry_description.Text;


        updateEvent(eventID, Convert.ToInt32(myPersonFull[0]), myDesc);

        hideWindow();
    }
示例#17
0
    public QueryServerWindow(int newPrefsDigitsNumber, string [] evaluators)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "query_server_window.glade", "query_server_window", "chronojump");
        gladeXML.Autoconnect(this);

        this.pDN        = newPrefsDigitsNumber;
        this.evaluators = evaluators;

        //put an icon to window
        UtilGtk.IconWindow(query_server_window);

        createAllCombos();
    }
示例#18
0
    public string GetSelectedNameEnglish()
    {
        string nameTranslatedSelected = UtilGtk.ComboGetActive(combo);

        foreach (SelectTypes type in l_types)
        {
            if (type.NameTranslated == nameTranslatedSelected)
            {
                return(type.NameEnglish);
            }
        }

        return("");
    }
示例#19
0
    public About(string version, string translators)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "dialog_about.glade", "dialog_about", "chronojump");
        gladeXML.Autoconnect(this);

        /*
         * //crash for test purposes
         * string [] myCrash = {
         *      "hello" };
         * Console.WriteLine("going to crash now intentionally");
         * Console.WriteLine(myCrash[1]);
         */

        //put an icon to window
        UtilGtk.IconWindow(dialog_about);

        //put logo image
        Pixbuf pixbuf;

        pixbuf            = new Pixbuf(null, Util.GetImagePath(false) + Constants.FileNameLogo);
        image_logo.Pixbuf = pixbuf;

        dialog_about_label_version.Text     = version;
        dialog_about_label_translators.Text = translators;

        //white bg
        dialog_about.ModifyBg(StateType.Normal, new Gdk.Color(0xff, 0xff, 0xff));

        //put authors
        textLabel(Constants.AuthorsCEO, dialog_about_label_developers_CEO);
        textLabel(Constants.AuthorsSoftware, dialog_about_label_developers_software);
        textLabel(Constants.AuthorsChronopic, dialog_about_label_developers_chronopic);
        textLabel(Constants.AuthorsDevices, dialog_about_label_developers_devices);
        textLabel(Constants.AuthorsMath, dialog_about_label_developers_math);
        textLabel(Constants.AuthorsOpenCV, dialog_about_label_developers_opencv);

        //put documenters separated by commas
        string docsString = "";
        string paragraph  = "";

        foreach (string doc in Constants.Documenters)
        {
            docsString += paragraph;
            docsString += doc;
            paragraph   = "\n";
        }
        dialog_about_label_documenters.Text = docsString;
    }
示例#20
0
    //if we just need to update values, call only this method
    public void Fill()
    {
        select();

        string [] namesToCombo = new String [l_types.Count];
        int       i            = 0;

        foreach (SelectTypes type in l_types)
        {
            namesToCombo[i++] = type.NameTranslated;
        }

        UtilGtk.ComboUpdate(combo, namesToCombo, "");
        combo.Active = 0;
    }
示例#21
0
    private void on_combo_ages2_changed(object o, EventArgs args)
    {
        string age2 = UtilGtk.ComboGetActive(combo_ages2);

        if (age2 == Catalog.GetString(Constants.Any))
        {
            spin_ages2.Sensitive = false;
        }
        else
        {
            spin_ages2.Sensitive = true;
        }

        on_entries_required_changed(new object(), new EventArgs());
    }
示例#22
0
    public GenericWindow(string textHeader)
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "generic_window.glade", "generic_window", "chronojump");
        gladeXML.Autoconnect(this);

        //put an icon to window
        UtilGtk.IconWindow(generic_window);

        generic_window.Resizable = false;
        label_header.Text        = textHeader;

        HideOnAccept    = true;
        DestroyOnAccept = false;
    }
示例#23
0
    PreferencesWindow()
    {
        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "chronojump.glade", "preferences_win", "chronojump");
        gladeXML.Autoconnect(this);

        //put an icon to window
        UtilGtk.IconWindow(preferences_win);

        //database and log files stuff
        databaseURL     = Util.GetDatabaseDir() + System.IO.Path.DirectorySeparatorChar + "chronojump.db";
        databaseTempURL = Util.GetDatabaseTempDir() + System.IO.Path.DirectorySeparatorChar + "chronojump.db";

        FakeButtonImported       = new Gtk.Button();
        FakeButtonDebugModeStart = new Gtk.Button();
    }
示例#24
0
    protected void prepareHeaders(string [] columnsString)
    {
        treeview.HeadersVisible = true;
        int  i       = 0;
        bool visible = false;

        foreach (string myCol in columnsString)
        {
            UtilGtk.CreateCols(treeview, store, Catalog.GetString(myCol), i++, visible);
            if (i == 1)
            {
                store.SetSortFunc(0, UtilGtk.IdColumnCompare);
            }
            visible = true;
        }
    }
示例#25
0
    private void on_combo_ages1_changed(object o, EventArgs args)
    {
        string age1 = UtilGtk.ComboGetActive(combo_ages1);

        string [] ages2;

        //if (age1 == Catalog.GetString(Constants.Any) ||	age1 == equalThan) {
        if (age1 == Catalog.GetString(Constants.Any))
        {
            if (age1 == Catalog.GetString(Constants.Any))              //zero values
            {
                spin_ages1.Sensitive = false;
            }
            else
            {
                spin_ages1.Sensitive = true;
            }

            //no value 2
            label_age_and.Sensitive = false;
            combo_ages2.Sensitive   = false;
            spin_ages2.Sensitive    = false;

            ages2 = Util.StringToStringArray(Constants.Any);
        }
        else
        {
            spin_ages1.Sensitive    = true;
            label_age_and.Sensitive = true;
            combo_ages2.Sensitive   = true;
            spin_ages2.Sensitive    = true;
            //if (age1 == lowerThan || age1 == lowerOrEqualThan)
            if (age1 == lowerThan)
            {
                ages2 = ages2Higher;
            }
            else
            {
                ages2 = ages2Lower;
            }
        }

        UtilGtk.ComboUpdate(combo_ages2, ages2, "");
        combo_ages2.Active = UtilGtk.ComboMakeActive(ages2, Catalog.GetString(Constants.Any));

        on_entries_required_changed(new object(), new EventArgs());
    }
示例#26
0
    private void initialize(string title, Constants.MessageTypes type, string message)
    {
        LogB.Information("Dialog message: " + message);

        Glade.XML gladeXML;
        gladeXML = Glade.XML.FromAssembly(Util.GetGladePath() + "dialog_message.glade", "dialog_message", "chronojump");
        gladeXML.Autoconnect(this);

        //put an icon to window
        UtilGtk.IconWindow(dialog_message);

        //with this, user doesn't see a moving/changing creation window
        //if uncommented, then does weird bug in windows not showing dialog as its correct size until window is moves
        //dialog_message.Hide();

        if (title != "")
        {
            dialog_message.Title = title;
        }

        label_message.Text      = message;
        label_message.UseMarkup = true;

        switch (type)
        {
        case Constants.MessageTypes.WARNING:
            image_warning.Show();
            image_info.Hide();
            image_help.Hide();
            break;

        case Constants.MessageTypes.INFO:
            image_warning.Hide();
            image_info.Show();
            image_help.Hide();
            break;

        case Constants.MessageTypes.HELP:
            image_warning.Hide();
            image_info.Hide();
            image_help.Show();
            break;
        }

        label_message.Show();
        dialog_message.Show();
    }
示例#27
0
    //if column == 1 returns checkboxes column. If is 2 returns column 2...
    //Attention: Used on checkboxes treeviews
    public string [] GetColumn(int column, bool onlyActive)
    {
        //to store active or inactive status of curves
        string [] checkboxes = new string[UtilGtk.CountRows(store)];

        int count = 0;

        Gtk.TreeIter iter;
        bool         okIter = store.GetIterFirst(out iter);

        if (okIter)
        {
            do
            {
                if (column == 1)
                {
                    if ((bool)store.GetValue(iter, 1))
                    {
                        checkboxes[count++] = "active";
                    }
                    else
                    {
                        checkboxes[count++] = "inactive";
                    }
                }
                else
                if ((bool)store.GetValue(iter, 1) || !onlyActive)
                {
                    checkboxes[count++] = ((string)store.GetValue(iter, column));
                }
            } while (store.IterNext(ref iter));
        }
        if (column == 1)
        {
            return(checkboxes);
        }
        else
        {
            string [] checkboxesWithoutGaps = new string[count];
            for (int i = 0; i < count; i++)
            {
                checkboxesWithoutGaps[i] = checkboxes[i];
            }
            return(checkboxesWithoutGaps);
        }
    }
示例#28
0
    private void createComboCountries()
    {
        combo_countries = ComboBox.NewText();

        countries = new String[1];
        //record countries with id:english name:translatedName
        countries [0] = Constants.CountryUndefinedID + ":" + Constants.CountryUndefined + ":" + Catalog.GetString(Constants.CountryUndefined);

        string [] myCountries = new String[1];
        myCountries [0] = Catalog.GetString(Constants.CountryUndefined);
        UtilGtk.ComboUpdate(combo_countries, myCountries, "");
        combo_countries.Active = UtilGtk.ComboMakeActive(myCountries,
                                                         Catalog.GetString(Constants.CountryUndefined));

        combo_countries.Changed += new EventHandler(on_combo_other_changed);
        UtilGtk.ComboPackShowAndSensitive(hbox_combo_countries, combo_countries);
    }
示例#29
0
    private string getEntriesString()
    {
        string str       = "";
        string separator = "";

        string ddString = dd0.Text + "-" + dd1.Text + "-" + dd2.Text + "-" + dd3.Text + "-" + dd4.Text + "-" +
                          dd5.Text + "-" + dd6.Text + "-" + dd7.Text + "-" + dd8.Text + "-" + dd9.Text;

        string [] s = ddString.Split(new char[] { '-' });

        for (int i = 0; i < Convert.ToInt32(UtilGtk.ComboGetActive(combo_distance_different_tracks)); i++)
        {
            str      += separator + s[i];
            separator = "-";
        }
        return(str);
    }
示例#30
0
    void on_radio_load_new_toggled(object obj, EventArgs args)
    {
        if (radio_load.Active)
        {
            notebook_load_or_new.CurrentPage = 0;
            vbox_save.Visible = false;

            button_next.Sensitive =
                (UtilGtk.GetSelectedRowUniqueID(
                     treeview_load, store_load, store_load_uniqueID_col) > 0);
        }
        else
        {
            notebook_load_or_new.CurrentPage = 1;
            vbox_save.Visible     = true;
            button_next.Sensitive = true;
        }
    }