private ListViewItem create_lvi(EquationGenerator generator)
        {
            ListViewItem item = new ListViewItem();

            update_lvi(item, generator);
            return(item);
        }
Exemple #2
0
        private void rebuild_params()
        {
            GeneratorParameters g_params = new GeneratorParameters();

            g_params.Enable = CB_Enable.Enabled;
            bool ok = true;

            ok = ok && int.TryParse(TB_LeftMin.Text, out g_params.LeftMin);
            ok = ok && int.TryParse(TB_LeftMax.Text, out g_params.LeftMax);
            ok = ok && int.TryParse(TB_RightMin.Text, out g_params.RightMin);
            ok = ok && int.TryParse(TB_RightMax.Text, out g_params.RightMax);
            ok = ok && int.TryParse(TB_ResMin.Text, out g_params.ResultMin);
            ok = ok && int.TryParse(TB_ResMax.Text, out g_params.ResultMax);
            g_params.Operation = Tools.StringToOperation(CB_Operation.Text);

            if (ok)
            {
                Generator = new EquationGenerator(
                    new Range(g_params.LeftMin, g_params.LeftMax),
                    g_params.Operation,
                    new Range(g_params.RightMin, g_params.RightMax),
                    new Range(g_params.ResultMin, g_params.ResultMax));
                Generator.Name = TB_Name.Text;
                int items_before_filter = Generator.Solutions.Count;
                //Generator.build_selection(CB_Randomize.Enabled, int.Parse(TB_FilterLimit.Text));

                LBL_Solutions.Text = String.Format("{0} solutions", items_before_filter);
            }
        }
Exemple #3
0
        public Form_EditGenerator(EquationGenerator a_generator)
        {
            InitializeComponent();

            foreach (OperationEnum e in Enum.GetValues(typeof(OperationEnum)))
            {
                CB_Operation.Items.Add(Tools.OperationChar(e));
            }

            foreach (ElipsisPositionEnum e in Enum.GetValues(typeof(ElipsisPositionEnum)))
            {
                CB_ElipsisPosition.Items.Add(e);
            }

            uC_RangeEditorLeft.OnChanged   += SomethingChanged;
            uC_RangeEditorRight.OnChanged  += SomethingChanged;
            uC_RangeEditorResult.OnChanged += SomethingChanged;

            TB_Name.Text = a_generator.Name;
            uC_RangeEditorLeft.TB_Min.Text   = a_generator.LeftRange.Min.ToString();
            uC_RangeEditorLeft.TB_Max.Text   = a_generator.LeftRange.Max.ToString();
            uC_RangeEditorRight.TB_Min.Text  = a_generator.RightRange.Min.ToString();
            uC_RangeEditorRight.TB_Max.Text  = a_generator.RightRange.Max.ToString();
            uC_RangeEditorResult.TB_Min.Text = a_generator.ResultRange.Min.ToString();
            uC_RangeEditorResult.TB_Max.Text = a_generator.ResultRange.Max.ToString();
            CB_Operation.Text = Tools.OperationChar(a_generator.Operation);
            CB_Selection_Randomized.Checked = a_generator.Selection_Randomized;
            TB_Selection_Count.Text         = a_generator.Selection_Limit.ToString();
            CB_ElipsisPosition.SelectedItem = a_generator.ElipsisPosition;
            fetch_all_fields();
        }
        private void BTN_Add_Generator_Click(object sender, EventArgs e)
        {
            EquationGenerator new_generator = new EquationGenerator();

            new_generator.Name = String.Format("Générateur {0}", new_sequential_number++);
            Form_EditGenerator form_edit_generator = new Form_EditGenerator(new_generator);
            DialogResult       dialog_result       = form_edit_generator.ShowDialog();

            if (dialog_result == DialogResult.OK)
            {
                ListViewItem lvi = create_lvi(form_edit_generator.Generator);
                LV_Generators.Items.Add(lvi);
            }
        }
        private void BTN_Edit_Click(object sender, EventArgs e)
        {
            if (LV_Generators.SelectedItems.Count == 1)
            {
                ListViewItem      item = LV_Generators.SelectedItems[0];
                EquationGenerator existing_generator = item.Tag as EquationGenerator;

                Form_EditGenerator form_edit_generator = new Form_EditGenerator(existing_generator);
                DialogResult       dialog_result       = form_edit_generator.ShowDialog();
                if (dialog_result == DialogResult.OK)
                {
                    update_lvi(item, form_edit_generator.Generator);
                }
            }
        }
        private void update_lvi(ListViewItem item, EquationGenerator generator)
        {
            item.SubItems.Clear();

            item.SubItems.Add(generator.Name);
            item.SubItems.Add(generator.LeftRange.ToString());
            item.SubItems.Add(Tools.OperationChar(generator.Operation));
            item.SubItems.Add(generator.RightRange.ToString());
            item.SubItems.Add(Tools.EqualChar);
            item.SubItems.Add(generator.ResultRange.ToString());
            item.SubItems.Add(String.Format("{0}", generator.Solutions.Count));
            item.SubItems.Add(String.Format("{0}", generator.Selection.Count));
            item.SubItems.Add(String.Format("{0}", generator.Selection_Randomized ? "OUI" : ""));
            item.SubItems.Add(String.Format("{0}", generator.ElipsisPosition));

            item.Tag = generator;
        }
        private void BTN_Build_Pdf_Click(object sender, EventArgs e)
        {
            List <EquationGenerator> gens = new List <EquationGenerator>();

            foreach (ListViewItem item in LV_Generators.Items)
            {
                EquationGenerator gen = item.Tag as EquationGenerator;
                if (gen != null)
                {
                    gens.Add(gen);
                }
            }

            Form_Pdf_Builder form_pdf_builder = new Form_Pdf_Builder();

            form_pdf_builder.Generators = gens;
            form_pdf_builder.ShowDialog();
        }
Exemple #8
0
        private void fetch_all_fields()
        {
            IsValid = true;
            if ((IsValid) && (!uC_RangeEditorLeft.IsValid))
            {
                LBL_Status.Text = "Gauche :" + uC_RangeEditorLeft.ErrorText;
                IsValid         = false;
            }
            if ((IsValid) && (!uC_RangeEditorRight.IsValid))
            {
                LBL_Status.Text = "Droite :" + uC_RangeEditorRight.ErrorText;
                IsValid         = false;
            }
            if ((IsValid) && (!uC_RangeEditorResult.IsValid))
            {
                LBL_Status.Text = "Resultat :" + uC_RangeEditorResult.ErrorText;
                IsValid         = false;
            }
            if (IsValid)
            {
                Generator = new EquationGenerator(
                    new Range(uC_RangeEditorLeft.Min, uC_RangeEditorLeft.Max),
                    Tools.StringToOperation(CB_Operation.Text),
                    new Range(uC_RangeEditorRight.Min, uC_RangeEditorRight.Max),
                    new Range(uC_RangeEditorResult.Min, uC_RangeEditorResult.Max));
                Generator.Name = TB_Name.Text;
                Generator.Selection_Randomized = CB_Selection_Randomized.Checked;
                Generator.Selection_Limit      = int.Parse(TB_Selection_Count.Text);
                if (CB_ElipsisPosition.SelectedItem != null)
                {
                    Generator.ElipsisPosition = (ElipsisPositionEnum)CB_ElipsisPosition.SelectedItem;
                }
                LBL_Status.Text = Generator.SolutionsText;
            }

            Log.Debug("EditGenerator.fetch_all : {0,6} {1}", IsValid, LBL_Status.Text);
            BTN_Ok.Enabled = IsValid;
        }
Exemple #9
0
        public void AddEquations(EquationGenerator gen)
        {
            // Draw the text
            pdf_graphics.DrawString(gen.Name,
                                    font_big,
                                    XBrushes.Black,
                                    element_rectangle(current_line[current_col], current_col),
                                    XStringFormats.Center);
            next_position();
            next_position();

            foreach (Equation eq in gen.Selection)
            {
                pdf_graphics.DrawString(eq.Image(gen.ElipsisPosition),
                                        font_medium,
                                        XBrushes.Black,
                                        element_rectangle(current_line[current_col], current_col),
                                        XStringFormats.Center);
                next_position();
            }
            next_position();
            next_column();
        }