0 Replies - 268 Views - Last Post: 26 April 2013 - 08:04 AM Rate Topic: -----

#1 skaczacy  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 26-April 13

control panel in wf and showing diagram in wpf

Posted 26 April 2013 - 08:04 AM

Hi,

Firstly, I'm going to describe what i have to do, then i tell you my problem. Finally, i show you how now it looks like.

I want to make application which takes information from user by using control panel -> showing diagram like this in next window -> text which describe diagram -> business rules

I think the user cant add new information in 3 last point, so text and business rules will be generate from information which contains control panel.

I don't know how i should generate the diagram, only words in my mind are wpf,xml,xaml, parse.

Maybe i made mistakes when projecting the way of working application, and it should be made whole in wpf, because there also possibility of made control panel.

Some people says that i should change data from control panel to xml to easier bring the business rules from them, but i think that i can make it, by methods in class, maybe i'm wrong.

I don't know what to do, and which phrase should i searching for ? Becouse now I'm acting like blind guy.

sry for comments in application, they have been made in other language, the same is with names on panel, i try to translate them in this post.

how looks control panel now

Posted Image

funkcja = function
zdarzenie = event
ścieżka procesu = path of process or to make it more clearly is the arrow, which you can see on the picture of diagram
or/xor/and its a logic gates

every category should have different shape on diagram





I made a collection for storage the information about created objects.

this is the code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace _1dwa3
{
    public partial class Form1 : Form
    {
 
 
 
        Dictionary<int, baza> naszalista = new Dictionary<int, baza>(); // deklaracja kolekcji, w której przechowywane będa obiekty klas(funkcje/zdarzenia/xor/or/and)
        int i = 0; // numer wiersza od którego zaczynamy zapisywanie rekordów do tabeli w panelu głównym 
        public Form1()
        {
 
            InitializeComponent();
 
        }
 
 
        private void Form1_Load(object sender, EventArgs e)            //do wywalenia
        {
 
        }
 
        private void label1_Click(object sender, EventArgs e)            //do wywalenia
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)      //przycisk funkcja 
        {
            button7.Visible = true;                 //przycisk do dodawania do tabeli widoczny
            button7.Text = "Dodaj funkcję";         //zmiana wyświetlanego tekstu w przycisku do dodawania do tabeli
            textBox3.Text = "Funkcja";              //w polu "rodzaj" automatem leci nazwa "funkcja"
            textBox2.Enabled = true;                //umożliwia dodawanie nazwy dla tego elementu
        }
 
        private void button2_Click(object sender, EventArgs e)      //przycisk zdarzenie
        {
            button7.Visible = true;                 //przycisk do dodawania do tabeli widoczny
            button7.Text = "Dodaj zdarzenie";       //zmiana wyświetlanego tekstu w przycisku do dodawania do tabeli
            textBox3.Text = "Zdarzenie";            //w polu "rodzaj" automatem leci nazwa "zdarzenie"
            textBox2.Enabled = true;
        }
 
        private void button3_Click(object sender, EventArgs e)       //przycisk ścieżka procesu
        {
            button7.Visible = true;                 //przycisk do dodawania do tabeli widoczny
            button7.Text = "Dodaj ścieżkę procesu"; //zmiana wyświetlanego tekstu w przycisku do dodawania do tabeli
            textBox3.Text = "Ścieżka procesu";      //w polu "rodzaj" automatem leci nazwa "Ścieżka procesu"    
            textBox2.Enabled = true;                //umożliwia dodawanie nazwy dla tego elementu
        }
 
        private void button4_Click(object sender, EventArgs e)      //przycisk OR
        {
            button7.Visible = true;                 //przycisk do dodawania do tabeli widoczny
            button7.Text = "Dodaj OR";              //zmiana wyświetlanego tekstu w przycisku do dodawania do tabeli
            textBox3.Text = "OR";                   //w polu "rodzaj" automatem leci nazwa "OR"
            textBox2.Enabled = false;               //uniemożliwia dodawanie nazwy dla tego elementu              
        }
 
        private void button5_Click(object sender, EventArgs e)      //przycisk AND
        {
            button7.Visible = true;                 //przycisk do dodawania do tabeli widoczny
            button7.Text = "Dodaj AND";             //zmiana wyświetlanego tekstu w przycisku do dodawania do tabeli
            textBox3.Text = "AND";                  //w polu "rodzaj" automatem leci nazwa "AND"
            textBox2.Enabled = false;               //uniemożliwia dodawanie nazwy dla tego elementu                 
        }
 
        private void button6_Click(object sender, EventArgs e)      //przycisk XOR
        {
            button7.Visible = true;                 //przycisk do dodawania do tabeli widoczny
            button7.Text = "Dodaj XOR";             //zmiana wyświetlanego tekstu w przycisku do dodawania do tabeli
            textBox3.Text = "XOR";                  //w polu "rodzaj" automatem leci nazwa "XOR"    
            textBox2.Enabled = false;               //uniemożliwia dodawanie nazwy dla tego elementu    
        }
 
        private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)            //do wywalenia
        {
 
        }
 
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
 
 
 
        private void button7_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Add(1);                                 // kod odpowiedzialny za dodawanie do tabeli w panelu głównym tekstu wpisanego do textboxów 
            dataGridView1.Rows[i].Cells[0].Value = textBox1.Text;
            dataGridView1.Rows[i].Cells[1].Value = textBox2.Text;
            dataGridView1.Rows[i].Cells[2].Value = textBox3.Text;
            dataGridView1.Rows[i].Cells[3].Value = textBox4.Text;
            dataGridView1.Rows[i].Cells[4].Value = textBox5.Text;
            i++; // komenda odpowiedzialna za przejście do następnego wiersza, żeby kolejny rekord zapisywał się w kolejnym wierszu, a nie jeden na drugim 
 
            string jakirodzaj = textBox3.Text;  // w tej zmiennej zawarty jest typ elementu który wybrał użytkownik
 
 
            if (jakirodzaj == "Funkcja") // ify odpowiedzialne za wywołanie odpowiedniego konstruktora w zależności od wybranego rodzaju w tabeli 
            {
                naszalista.Add(i, new funkcjazdarzenie(textBox3.Text, textBox2.Text, textBox6.Text));
 
            }
            else if (jakirodzaj == "Zdarzenie")
            {
                naszalista.Add(i, new funkcjazdarzenie(textBox3.Text, textBox2.Text, textBox6.Text));
 
            }
            else if (jakirodzaj == "OR")
            {
                naszalista.Add(i, new or(textBox3.Text));
 
            }
            else if (jakirodzaj == "XOR")
            {
                naszalista.Add(i, new xor(textBox3.Text));
 
            }
            else if (jakirodzaj == "AND")
            {
                naszalista.Add(i, new and(textBox3.Text));
 
            }
 
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
 
        }
    }
 
 
    enum enotacja  //narazie nie potrzebne 
    {
        efunkcja = 1,
        ezdarzenie = 2,
        esciezkaprocesu = 3,
        eor = 4,
        eand = 5,
        exor = 6,
    }
    public class baza    // deklaracja klasy bazowje dla roznych elementow notacji 
    {
        protected string rodzaj;
 
 
    }
 
    public class funkcjazdarzenie : baza // narazie funkcja a zdarzenie nie roznia sie elementami jakie zawieraja( klasa sie zmieni jak bedziemy przedstawiac je graficznie           
    {
        string opis;
        string nazwa;
        public funkcjazdarzenie(string krodzaj, string knazwa, string kopis)
        {
            rodzaj = krodzaj;
 
            nazwa = knazwa;
            opis = kopis;
        }
 
    }
 
    public class xor : baza //klasa odpowiedzialna za xora 
    {
        public xor(string krodzaj)
        {
            rodzaj = krodzaj;
 
        }
 
    }
 
    public class or : baza //klasa odpowiedzialna za ora 
    {
        public or(string krodzaj)
        {
            rodzaj = krodzaj;
 
        }
 
    }
 
    public class and : baza // klasa odpowiedzialna za and 
    {
        public and(string krodzaj)
        {
            rodzaj = krodzaj;
 
        }
    }
 
 
}
 



thanks for any advice or anything which can by helpful for me. Sry for language mistakes and form of post

This post has been edited by modi123_1: 26 April 2013 - 08:06 AM


Is This A Good Question/Topic? 0
  • +

Page 1 of 1