コード例 #1
0
 private void tabelarniPrikazEtiketeToolStripMenuItem_Click(object sender, EventArgs e)
 {
     TreeNode node  = treeView1.SelectedNode;
     Vrsta    vrsta = (Vrsta)node.Tag;
     Tabelarni_prikaz_etikete tEtikete = new Tabelarni_prikaz_etikete(this, vrsta);
     DialogResult             r        = tEtikete.ShowDialog();
 }
コード例 #2
0
 private void toolStripLabel12_Click(object sender, EventArgs e)
 {        //prikazi etikete jedne vrste
     TreeNode node  = treeView1.SelectedNode;
     Vrsta    vrsta = (Vrsta)node.Tag;
     Tabelarni_prikaz_etikete tEtikete = new Tabelarni_prikaz_etikete(this, vrsta);
     DialogResult             r        = tEtikete.ShowDialog();
 }
コード例 #3
0
 private void toolStripMenuItem9_Click(object sender, EventArgs e)
 {        //dodavanje etikete
     TreeNode     node    = treeView1.SelectedNode;
     Vrsta        vrsta   = (Vrsta)node.Tag;
     FormEtiketa  etiketa = new FormEtiketa(vrsta);
     DialogResult r       = etiketa.ShowDialog();
 }
コード例 #4
0
        private void buttonIzmjena_Click(object sender, EventArgs e)
        {
            koZoveDodaj = "izmjeni";
            Vrsta vr = new Vrsta(textBoxID.Text, textBoxIme.Text, textBoxOpis.Text, textBoxTip.Text, textBoxStatus.Text, textBoxOpasna.Text,
                                 textBoxLista.Text, textBoxRegion.Text, textBoxTuristi.Text, Int32.Parse(textBoxPrihod.Text), textBoxDatum.Text, pictureBoxVrsta.BackgroundImage);
            FormVrsta    vrsta = new FormVrsta(vr, main);
            DialogResult r     = vrsta.ShowDialog();

            dataGridViewVrsta.Rows.Clear();
            foreach (Vrsta v in vrste)
            {
                dataGridViewVrsta.Rows.Add(new object[] { v.ID, v.Ime, v.Opis, v.Tip, v.StatusUgrozenosti, v.Opasna, v.CrvenaLista,
                                                          v.NaseljeniRegion, v.TuristickiStatus,
                                                          v.GodisnjiPrihod, v.DatumOtkrivanja });
                dataGridViewVrsta.Rows[dataGridViewVrsta.Rows.Count - 1].Tag = v;
            }
            ucitavanje = false;
            dataGridViewVrsta.CurrentCell = dataGridViewVrsta.Rows[0].Cells[0];
            dataGridViewVrsta_SelectionChanged(dataGridViewVrsta, EventArgs.Empty);
            buttonDodaj.Enabled    = true;
            buttonIzmjena.Enabled  = true;
            buttonBrisanje.Enabled = true;

            main.refreshTree();
        }
コード例 #5
0
        public void provjeraPriIzmjeni()
        {
            formIsValid = true;
            this.ValidateChildren();
            if (formIsValid)
            {
                this.DialogResult = DialogResult.OK;
                String ID   = textBoxIdE.Text;
                Color  boja = textBoxBoja.BackColor;

                String opis = textBoxOpisE.Text;
                // Etiketa e = new Etiketa(ID, boja, opis);

                //izbrisemo onu etiketu koja vec postoji sa tim id-em
                List <Etiketa> etikete = Tabelarni_prikaz_etikete.etikete;
                int            index   = 0;
                for (int i = 0; i < etikete.Count; i++)
                {
                    if (etikete[i].ID.Equals(ID))
                    {
                        etikete[i].Boja = boja;
                        etikete[i].Opis = opis;
                        index           = i;
                        break;
                    }
                }

                if (vrsta == null)
                {
                    Console.WriteLine("Nema vrstu");
                    vrsta = etikete[index].vrsta;
                }


                //dodavanje etikete u listu etiketa u vrsti

                for (int i = 0; i < vrsta.etikete.Count; i++)
                {
                    if ((vrsta.etikete[i]).ID.Equals(ID))
                    {
                        (vrsta.etikete[i]).Boja = boja;
                        (vrsta.etikete[i]).Opis = opis;
                        break;
                    }
                }


                this.Close();
            }
            else
            {
                labelErrorE.Text    = "Unos nemoguć. \nPostoje greške.";
                labelErrorE.Visible = true;
                timUnosE.Start();
            }
        }
コード例 #6
0
 public Tabelarni_prikaz_etikete(Vrsta vrsta)
 {
     InitializeComponent();
     this.CenterToParent();
     this.vrsta = vrsta;
     this.Text  = "Tabelarni prikaz etiketa vrste";
     comboBoxFilt.SelectedIndex = 2;
     // Etiketa et = new Etiketa("desetka", Color.Tomato, "bas je ugrozena");
     //etikete.Add(et);
 }
コード例 #7
0
        private void buttonDodajE_Click(object sender, EventArgs e)
        {
            Vrsta vrsta = dajSelektovanuVrstu();

            if (vrsta != null)
            {
                Console.WriteLine("Imam vrstu!");
            }
            FormEtiketa  etiketa = new FormEtiketa(vrsta);
            DialogResult r       = etiketa.ShowDialog();
        }
コード例 #8
0
 public FormEtiketa(Vrsta v) //konstruktor sa imenom vrste da bismo znali u koju listu dodati etiketu
 {                           //pozivan iz tabele vrsta
     InitializeComponent();
     this.CenterToParent();
     this.vrsta = v;
     Tabelarni_prikaz_etikete.koZoveDodaj = "dodaj";
     rx_id = new Regex("^\\w+$");
     //rx_opis = new Regex("^\\w+$");
     errorRepeat.Add(textBoxIdE, false);
     errorRepeat.Add(textBoxOpisE, false);
 }
コード例 #9
0
ファイル: FormVrsta.cs プロジェクト: DesankaTodic/HCI
        }//konstruktor dijaloga za izmjenu

        public FormVrsta(Vrsta v, formMain main)
        {
            InitializeComponent();
            this.CenterToParent();
            this.main  = main;
            this.vrsta = v;
            foreach (Tip tip in Tabelarni_prikaz_tipa.tipovi)
            {
                comboBoxTip.Items.Add(tip.Ime + " " + tip.ID); //prikazuje i id jer je to kljuc i trebace mi da bih nasla odgovarajuci tip
            }                                                  //za dodavanje u listu vrsta
            ofd.Filter = "Image Files(*.BMP;*.JPG;*.PNG)|*.BMP;*.JPG;*.PNG";
            rx_id      = new Regex("^\\w+$");
            rx_ime     = new Regex("^\\w+$");
            //rx_opis = new Regex("^\\w+$");
            rx_prihod = new Regex("^\\d+$");//prihod je u ciframa

            errorRepeat.Add(textBoxIme, false);
            errorRepeat.Add(textBoxId, false);
            errorRepeat.Add(textBoxOpis, false);
            errorRepeat.Add(comboBoxTip, false);
            errorRepeat.Add(textBoxPrihod, false);
            errorRepeat.Add(comboBoxStatus, false);
            errorRepeat.Add(comboBoxTuristicki, false);
            errorRepeat.Add(pictureBoxVrsta, false);

            this.Text                   = "Izmjena vrste";
            textBoxId.Text              = v.ID;
            textBoxId.ReadOnly          = true;//ako je izmjeni da ne moze mijenjati id
            textBoxIme.Text             = v.Ime;
            textBoxOpis.Text            = v.Opis;
            comboBoxTip.SelectedItem    = v.Tip;
            comboBoxStatus.SelectedItem = v.StatusUgrozenosti;
            if (v.Opasna.Equals("DA"))
            {
                checkBoxOpasna.Checked = true;
            }
            if (v.CrvenaLista.Equals("DA"))
            {
                checkBoxUICN.Checked = true;
            }
            if (v.NaseljeniRegion.Equals("DA"))
            {
                checkBoxRegion.Checked = true;
            }
            pictureBoxVrsta.BackgroundImage = v.Img;
            comboBoxTuristicki.SelectedItem = v.TuristickiStatus;
            textBoxPrihod.Text = (v.GodisnjiPrihod).ToString();
            String date = v.DatumOtkrivanja;//05-05-1994

            String[] poCrti = date.Split('-');
            dateTimePicker1.Value = new DateTime(Int32.Parse(poCrti[2]), Int32.Parse(poCrti[1]), Int32.Parse(poCrti[0]));//godina,mjesec,dan
        }
コード例 #10
0
        private void izmjenimeniv_Click(object sender, EventArgs e)
        {        //izmjena vrste
            TreeNode node = treeView1.SelectedNode;

            if (node.Tag is Vrsta)
            {
                Vrsta vrsta = (Vrsta)node.Tag;
                Tabelarni_prikaz_vrste.koZoveDodaj = "izmjeni";
                FormVrsta    fvrste = new FormVrsta(vrsta, this);
                DialogResult r      = fvrste.ShowDialog();
                refreshTree();
            }
        }
コード例 #11
0
        private void toolStripMenuItem6_Click(object sender, EventArgs e)
        {        //izmjena vrste
            TreeNode node = treeView1.SelectedNode;

            if (node.Tag is Vrsta)
            {
                Vrsta vrsta = (Vrsta)node.Tag;
                Tabelarni_prikaz_vrste.koZoveDodaj = "izmjeni";
                FormVrsta    fvrste = new FormVrsta(vrsta, this);
                DialogResult r      = fvrste.ShowDialog();
                //isctrajPonovo = true;
                refreshTree();
                //isctrajPonovo = false;
            }
        }
コード例 #12
0
 public FormEtiketa(Etiketa e, Vrsta vrsta)
 {
     InitializeComponent();
     this.CenterToParent();
     this.vrsta = vrsta;
     rx_id      = new Regex("^\\w+$");
     //rx_opis = new Regex("^\\w+$");
     errorRepeat.Add(textBoxIdE, false);
     errorRepeat.Add(textBoxOpisE, false);
     this.Text             = "Izmjena etikete";
     textBoxIdE.Text       = e.ID;
     textBoxIdE.ReadOnly   = true;//ako je izmjeni da ne moze mijenjati id
     textBoxBoja.BackColor = e.Boja;
     textBoxOpisE.Text     = e.Opis;
 }
コード例 #13
0
        private void panelMapa_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            for (int i = 0; i < nodesOnMap.Count; i++)
            {
                Point p     = new Point();
                Vrsta vrsta = (Vrsta)nodesOnMap[i].Tag;
                foreach (KeyValuePair <TreeNode, Point> entry in pozicije)
                {
                    if (entry.Key.Text.Equals(nodesOnMap[i].Text))
                    {
                        p = entry.Value;
                    }
                }
                Image img = new Bitmap(vrsta.Img, new Size(30, 30));
                g.DrawImage(img, new Point(p.X, p.Y));
            }
        }
コード例 #14
0
        public void brisanjeVrste()
        {
            DialogResult d = MessageBox.Show("Da li da sigurno želite da obrišete vrstu?", "Brisanje vrste", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (d.Equals(DialogResult.Yes))
            {
                TreeNode node = treeView1.SelectedNode;
                if (node.Tag is Vrsta)
                {
                    Vrsta      vrsta     = (Vrsta)node.Tag;
                    int        ind_vrste = 0;             //pokupim indeks vrste da bi je kasnije obrisala iz vrste tipa
                    int        ind_tipa  = 0;
                    List <Tip> tipovi    = Tabelarni_prikaz_tipa.tipovi;

                    for (int i = 0; i < tipovi.Count; i++)
                    {
                        for (int j = 0; j < tipovi[i].vrste.Count; j++)
                        {
                            if (tipovi[i].vrste[j].ID.Equals(vrsta.ID))
                            {
                                ind_vrste = tipovi[i].vrste.IndexOf(tipovi[i].vrste[j]);
                                ind_tipa  = i;
                                break;
                            }
                        }
                    }
                    tipovi[ind_tipa].vrste.RemoveAt(ind_vrste);                    //izbrisi vrstu iz liste
                    Vrsta vr = null;
                    foreach (Vrsta v in Tabelarni_prikaz_vrste.vrste)
                    {
                        if (vrsta.ID.Equals(v.ID))
                        {
                            vr = v;
                            Tabelarni_prikaz_vrste.vrste.Remove(v);
                            break;
                        }
                    }
                    refreshTree();
                    invalidatePanel(vr);
                }
            }
        }
コード例 #15
0
        private void dataGridViewVrsta_SelectionChanged(object sender, EventArgs e)
        {
            if (ucitavanje)
            {
                return;
            }
            if (dataGridViewVrsta.SelectedRows.Count == 0)
            {
                textBoxID.Text      = "";
                textBoxIme.Text     = "";
                textBoxLista.Text   = "";
                textBoxOpis.Text    = "";
                textBoxPrihod.Text  = "";
                textBoxDatum.Text   = "";
                textBoxTip.Text     = "";
                textBoxOpasna.Text  = "";
                textBoxRegion.Text  = "";
                textBoxStatus.Text  = "";
                textBoxTuristi.Text = "";
                return;
            }

            Vrsta v = (Vrsta)dataGridViewVrsta.SelectedRows[0].Tag;

            if (v == null)
            {
                return;
            }
            textBoxID.Text                  = v.ID;
            textBoxIme.Text                 = v.Ime;
            textBoxLista.Text               = v.CrvenaLista;
            textBoxTip.Text                 = v.Tip;
            textBoxOpis.Text                = v.Opis;
            textBoxPrihod.Text              = (v.GodisnjiPrihod).ToString();
            textBoxDatum.Text               = v.DatumOtkrivanja;
            textBoxOpasna.Text              = v.Opasna;
            textBoxRegion.Text              = v.NaseljeniRegion;
            textBoxStatus.Text              = v.StatusUgrozenosti;
            textBoxTuristi.Text             = v.TuristickiStatus;
            pictureBoxVrsta.BackgroundImage = v.Img;
        }
コード例 #16
0
        public void invalidatePanel(Vrsta vrsta)
        {
            TreeNode node = vrsta.treeNode;

            TreeNode key = null;

            foreach (KeyValuePair <TreeNode, List <Point> > entry in sve_pozicije)
            {
                if (entry.Key.Text == node.Text)
                {
                    key = entry.Key;
                    break;
                }
            }

            if (key == null)
            {
                return;
            }

            Dictionary <TreeNode, List <Point> > sve_pozicije1 = new Dictionary <TreeNode, List <Point> >(sve_pozicije);

            foreach (KeyValuePair <TreeNode, List <Point> > entry in sve_pozicije1)
            {
                if (entry.Key.Text.Equals(vrsta.Ime))
                {
                    pozicije.Remove(key);
                    sve_pozicije.Remove(key);
                    foreach (PictureBox pb in listPB)
                    {
                        if (pb.Name.Equals(vrsta.Ime))
                        {
                            panelMapa.Controls.Remove(pb);
                            Console.WriteLine("Obrsisamo sam " + vrsta.Ime);
                        }
                    }
                }
            }

            panelMapa.Invalidate();
        }
コード例 #17
0
        public Vrsta dajSelektovanuVrstu()
        {
            Vrsta vrsta = null;

            if (dataGridViewVrsta.SelectedCells.Count > 0)
            {
                int selectedrowindex = dataGridViewVrsta.SelectedCells[0].RowIndex;

                DataGridViewRow selectedRow = dataGridViewVrsta.Rows[selectedrowindex];

                string id = Convert.ToString(selectedRow.Cells["ID"].Value);//preuzimamo ime vrste i proslijedimo etikete
                Console.WriteLine(id);
                //preuzimanje trenutno selekotvane vrste
                foreach (Vrsta v in vrste)
                {
                    if (id.Equals(v.ID))
                    {
                        vrsta = v;
                        break;
                    }
                }
            }
            return(vrsta);
        }
コード例 #18
0
        public void initilizeTree()
        {
            List <Tip> tipovi = Tabelarni_prikaz_tipa.tipovi;


            treeView1.ImageList           = myImageList;
            treeView1.ImageList.ImageSize = new Size(30, 30);
            int index = 0;

            for (int i = 0; i < tipovi.Count; i++)
            {
                myImageList.Images.Add(tipovi[i].Img);
                TreeNode node = new TreeNode(tipovi[i].Ime);
                node.ForeColor          = Color.Gray;
                node.ImageIndex         = index;
                node.SelectedImageIndex = index;
                this.treeView1.Nodes.Add(node);
                treeView1.Nodes[i].Tag = tipovi[i];
                index++;
                for (int j = 0; j < tipovi[i].vrste.Count; j++)
                {
                    Tip   tip   = tipovi[i];
                    Vrsta v     = tip.vrste[j];
                    Image image = v.Img;
                    if (image == null)
                    {
                        Console.WriteLine("Nemaa slike");
                    }
                    else
                    {
                        myImageList.Images.Add(image);
                    }
                    TreeNode node1 = new TreeNode(tipovi[i].vrste[j].Ime);
                    node1.ImageIndex         = index;
                    node1.SelectedImageIndex = index;
                    node1.Tag = tipovi[i].vrste[j];
                    tipovi[i].vrste[j].treeNode = node1;
                    this.treeView1.Nodes[i].Nodes.Add(node1);
                    if (image != null)
                    {
                        index++;
                    }

                    TreeNode key = null;
                    foreach (KeyValuePair <TreeNode, List <Point> > entry in sve_pozicije)
                    {
                        if (entry.Key.Text == node1.Text)
                        {
                            key = entry.Key;
                            break;
                        }
                    }

                    if (key == null)
                    {
                        continue;
                    }
                    for (int p = 0; p < panelMapa.Controls.Count; p++)               //kad se desi izmjena ikonice vrste da je promjeni i na mapi
                    {
                        PictureBox pb = (PictureBox)panelMapa.Controls[p];
                        Tuple <Point, TreeNode> tuple = (Tuple <Point, TreeNode>)pb.Tag;
                        if (tuple.Item2.Text.Equals(node1.Text))
                        {
                            pb.Image = tipovi[i].vrste[j].Img;
                        }
                    }

                    if (sve_pozicije.ContainsKey(key) && isctrajPonovo)
                    // if (sve_pozicije.ContainsKey(key))
                    {
                        //panelMapa.Controls.Clear();
                        List <Point> tacke = sve_pozicije[key];
                        for (int k = 0; k < tacke.Count; k++)
                        {
                            PictureBox pb = new PictureBox();
                            pb.MouseDown  += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseDown);
                            pb.MouseMove  += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);
                            pb.MouseHover += new System.EventHandler(this.pictureBox_MouseHover);

                            pb.ContextMenuStrip = new ContextMenuStrip();
                            ToolStripDropDownItem item = new ToolStripMenuItem();
                            item.Text   = "Obriši";
                            item.Click += obriToolStripMenuItem_Click;
                            pb.ContextMenuStrip.Items.Add(item);
                            pb.ContextMenuStrip.Tag = new Tuple <Point, PictureBox>(tacke[k], pb);
                            pb.Image    = tipovi[i].vrste[j].Img;
                            pb.Size     = new System.Drawing.Size(30, 30);
                            pb.SizeMode = PictureBoxSizeMode.StretchImage;
                            pb.Name     = tipovi[i].vrste[j].Ime;
                            pb.Tag      = new Tuple <Point, TreeNode>(tacke[k], key);
                            pb.Location = new Point(tacke[k].X, tacke[k].Y);

                            panelMapa.Controls.Add(pb);
                            listPB.Add(pb);
                        }
                    }
                }
            }
            if (treeView1.Nodes.Count > 0)
            {
                treeView1.SelectedNode  = treeView1.Nodes[0];
                treeView1.HideSelection = false;
            }
        }
コード例 #19
0
ファイル: FormVrsta.cs プロジェクト: DesankaTodic/HCI
        public void provjeraPriDodavanju()
        {
            String postoji = "ne postoji";//flag da li postoji vrsta sa takvim id-om
            String ID      = textBoxId.Text;
            String tip     = (String)comboBoxTip.SelectedItem;

            foreach (Vrsta vr in Tabelarni_prikaz_vrste.vrste)
            {
                if (ID.Equals(vr.ID))
                {
                    postoji = "postoji";

                    MessageBox.Show("ID mora biti jednistven!", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    break;
                }
            }
            if (postoji.Equals("ne postoji"))
            {
                formIsValid = true;
                this.ValidateChildren();
                if (pictureBoxVrsta.BackgroundImage == null)
                {
                    foreach (Tip t in Tabelarni_prikaz_tipa.tipovi)
                    {
                        String tip_id = t.Ime + " " + t.ID;
                        if (tip_id.Equals(tip))
                        {
                            pictureBoxVrsta.BackgroundImage = t.Img;
                            break;
                        }
                    }
                }
                if (formIsValid)
                {
                    this.DialogResult = DialogResult.OK;

                    String ime = textBoxIme.Text;

                    String opis = textBoxOpis.Text;
                    status = (String)comboBoxStatus.SelectedItem;//preuzima koji je selektovan status ugrozenosti
                    //Console.WriteLine(status);
                    String opasna = (checkBoxOpasna.Checked) ? "DA" : "NE";

                    String uicn = (checkBoxUICN.Checked) ? "DA" : "NE";

                    String region = (checkBoxRegion.Checked) ? "DA" : "NE";

                    String tur_status = (String)comboBoxTuristicki.SelectedItem;
                    int    prihod     = Int32.Parse(textBoxPrihod.Text);
                    string datum      = dateTimePicker1.Value.ToString("dd-MM-yyyy");
                    Image  img        = pictureBoxVrsta.BackgroundImage;
                    Vrsta  v          = new Vrsta(ID, ime, opis, tip, status, opasna, uicn, region, tur_status, prihod, datum, img);

                    (Tabelarni_prikaz_vrste.vrste).Add(v);
                    //dodavanje vrste u listu vrsta odgovarajuce
                    String tip_id = tip.Split(' ')[1];
                    foreach (Tip t in Tabelarni_prikaz_tipa.tipovi)
                    {
                        if (t.ID.Equals(tip_id))
                        {
                            t.vrste.Add(v);
                            break;
                        }
                    }

                    this.Close();
                }
                else
                {
                    labelError.Text    = "Unos nemoguć. \nPostoje greške.";
                    labelError.Visible = true;
                    timUnos.Start();
                }
            }
        }
コード例 #20
0
        private void buttonBrisanje_Click(object sender, EventArgs e)
        {
            DialogResult d = MessageBox.Show("Da li da sigurno želite da obrišete vrstu?", "Brisanje vrste", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (d.Equals(DialogResult.Yes))
            {
                String ID = textBoxID.Text;
                //brisanje iz svih vrsta

                Vrsta vrsta = dajSelektovanuVrstu();
                //brisanje vrste iz tipa

                String tip_id = vrsta.Tip.Split(' ')[1];
                //Console.WriteLine(tip_id);
                int ind_vrste = 0;                //pokupim indeks vrste da bi je kasnije obrisala iz vrste tipa
                int ind_tipa  = 0;
                //u slucaju da je izmjenjen tip neke vrste
                //izbrise vrstu iz liste tog tipa i stavi je u listu novog tipa
                List <Tip> tipovi = Tabelarni_prikaz_tipa.tipovi;

                for (int i = 0; i < tipovi.Count; i++)
                {
                    for (int j = 0; j < tipovi[i].vrste.Count; j++)
                    {
                        if (tipovi[i].vrste[j].ID.Equals(ID))
                        {
                            ind_vrste = tipovi[i].vrste.IndexOf(tipovi[i].vrste[j]);
                            ind_tipa  = i;
                            break;
                        }
                    }
                }
                tipovi[ind_tipa].vrste.RemoveAt(ind_vrste);                //izbrisi vrstu iz liste
                Vrsta vr = null;
                foreach (Vrsta v in vrste)
                {
                    if (ID.Equals(v.ID))
                    {
                        vr = v;
                        vrste.Remove(v);
                        break;
                    }
                }
                main.refreshTree();                //nakon sto obrise vrstu osvjezi stablo
                main.invalidatePanel(vr);
                //kad izbrise red iz tabele, ponovo je popuni
                dataGridViewVrsta.Rows.Clear();
                foreach (Vrsta v in vrste)
                {
                    dataGridViewVrsta.Rows.Add(new object[] { v.ID, v.Ime, v.Opis, v.Tip, v.StatusUgrozenosti, v.Opasna, v.CrvenaLista,
                                                              v.NaseljeniRegion, v.TuristickiStatus,
                                                              v.GodisnjiPrihod, v.DatumOtkrivanja });
                    dataGridViewVrsta.Rows[dataGridViewVrsta.Rows.Count - 1].Tag = v;
                }
                ucitavanje = false;
                if (vrste.Count != 0)
                {
                    dataGridViewVrsta.CurrentCell = dataGridViewVrsta.Rows[0].Cells[0];
                    dataGridViewVrsta_SelectionChanged(dataGridViewVrsta, EventArgs.Empty);
                }
                else
                {
                    pictureBoxVrsta.BackgroundImage = null;
                    buttonDodaj.Enabled             = true;
                    buttonIzmjena.Enabled           = false;
                    buttonBrisanje.Enabled          = false;
                }
            }
        }
コード例 #21
0
 private void buttonPrikazE_Click(object sender, EventArgs e)
 {
     Vrsta vrsta = dajSelektovanuVrstu();
     Tabelarni_prikaz_etikete tEtikete = new Tabelarni_prikaz_etikete(vrsta);
     DialogResult             r        = tEtikete.ShowDialog();
 }
コード例 #22
0
        private void buttonBrisanje_Click(object sender, EventArgs e)
        {
            DialogResult d = MessageBox.Show("Da li da sigurno želite da obrišete etiketu?", "Brisanje etikete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (d.Equals(DialogResult.Yes))
            {
                String ID = textBoxId.Text;
                if (flag_za_sve)                //ako su prikazane sve etikete
                {
                    Vrsta vr = null;
                    foreach (Etiketa etik in etikete)
                    {
                        if (ID.Equals(etik.ID))
                        {
                            vr = etik.vrsta;
                            vr.etikete.Remove(etik);
                            etikete.Remove(etik);

                            break;
                        }
                    }
                    //kad izbrise red iz tabele, ponovo je popuni
                    dataGridViewEtiketa.Rows.Clear();
                    foreach (Etiketa et in etikete)
                    {
                        dataGridViewEtiketa.Rows.Add(new object[] { et.ID, "", et.Opis });
                        dataGridViewEtiketa[1, dataGridViewEtiketa.Rows.Count - 1].Style.BackColor = et.Boja;
                        dataGridViewEtiketa.Rows[dataGridViewEtiketa.Rows.Count - 1].Tag           = et;
                    }
                    ucitavanje = false;
                    if (etikete.Count != 0)
                    {
                        dataGridViewEtiketa.CurrentCell = dataGridViewEtiketa.Rows[0].Cells[0];
                        dataGridViewEtiketa_SelectionChanged(dataGridViewEtiketa, EventArgs.Empty);
                    }
                    else
                    {
                        buttonDodavanje.Enabled = false;
                        buttonIzmjena.Enabled   = false;
                        buttonBrisanje.Enabled  = false;
                    }
                }
                else                //kada je brisanje iz etiketa nekog tipa
                {
                    foreach (Etiketa etik in vrsta.etikete)
                    {
                        if (ID.Equals(etik.ID))
                        {
                            vrsta.etikete.Remove(etik);
                            etikete.Remove(etik);                            //brisanje iz svih etiketa
                            break;
                        }
                    }
                    //kad izbrise red iz tabele, ponovo je popuni
                    dataGridViewEtiketa.Rows.Clear();
                    foreach (Etiketa et in vrsta.etikete)
                    {
                        dataGridViewEtiketa.Rows.Add(new object[] { et.ID, "", et.Opis });
                        dataGridViewEtiketa[1, dataGridViewEtiketa.Rows.Count - 1].Style.BackColor = et.Boja;
                        dataGridViewEtiketa.Rows[dataGridViewEtiketa.Rows.Count - 1].Tag           = et;
                    }
                    ucitavanje = false;
                    if (vrsta.etikete.Count != 0)
                    {
                        dataGridViewEtiketa.CurrentCell = dataGridViewEtiketa.Rows[0].Cells[0];
                        dataGridViewEtiketa_SelectionChanged(dataGridViewEtiketa, EventArgs.Empty);
                    }
                    else
                    {
                        buttonDodavanje.Enabled = true;
                        buttonIzmjena.Enabled   = false;
                        buttonBrisanje.Enabled  = false;
                    }
                }
            }
        }
コード例 #23
0
        private void panelMapa_DragDrop(object sender, DragEventArgs e)
        {
            Point     panelLokacija  = panelMapa.PointToScreen(Point.Empty);
            Rectangle draggedElement = new Rectangle(new Point(e.X - panelLokacija.X, e.Y - panelLokacija.Y), new Size(5, 5));

            bool presjek = false;

            foreach (Control pb in panelMapa.Controls)
            {
                if (draggedElement.IntersectsWith(pb.Bounds))
                {
                    presjek = true;
                    MessageBox.Show("Vrste se ne smiju preklapati!", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            if (prevuciSaStabla)
            {
                Type     testTip          = new TreeNode().GetType();
                Panel    dropPicturePanel = (Panel)sender;
                TreeNode prevuceniCvor;

                prevuciSaStabla  = false;
                selekcioniProzor = Rectangle.Empty;
                if (e.Data.GetDataPresent(testTip) && presjek == false)                 //Da li je poslati tip u stvari treeNode?
                {
                    prevuceniCvor                    = (TreeNode)e.Data.GetData(testTip);
                    prevuceniCvor.ImageIndex         = prevuceniCvor.Index;
                    prevuceniCvor.SelectedImageIndex = prevuceniCvor.Index;
                    //PictureBox pb = new PictureBox();
                    PictureBox pb = new PictureBox();

                    pb.MouseDown  += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseDown);
                    pb.MouseMove  += new System.Windows.Forms.MouseEventHandler(this.pictureBox_MouseMove);
                    pb.MouseHover += new System.EventHandler(this.pictureBox_MouseHover);

                    pb.ContextMenuStrip = new ContextMenuStrip();
                    ToolStripDropDownItem item = new ToolStripMenuItem();
                    item.Text   = "Obriši";
                    item.Click += obriToolStripMenuItem_Click;
                    pb.ContextMenuStrip.Items.Add(item);

                    //pb.Image = imageList1.Images[prevuceniCvor.Index];
                    Vrsta vrsta = (Vrsta)prevuceniCvor.Tag;
                    pb.Image = vrsta.Img;
                    refreshTree();
                    pb.Size     = new System.Drawing.Size(30, 30);
                    pb.SizeMode = PictureBoxSizeMode.StretchImage;
                    Point lokacijaPanela = panelMapa.PointToScreen(Point.Empty);                       //  izracuna lokaciju u odnosu na panel
                    pb.Location = new System.Drawing.Point(e.X - lokacijaPanela.X, e.Y - lokacijaPanela.Y);

                    ///panelMapa.Controls.Add(pb);

                    string oznaka = prevuceniCvor.Text;
                    pb.Name = oznaka;                  //  cuvam za kasnije prevlacenje po mapi
                    panelMapa.Controls.Add(pb);
                    listPB.Add(pb);                    //dodajem u listu pb

                    Point lokacija = new Point(pb.Location.X - panelMapa.AutoScrollPosition.X,
                                               pb.Location.Y - panelMapa.AutoScrollPosition.Y);                                //  u odnosu na panel i skrol
                    //SpomenikMapa snmp = new SpomenikMapa(oznaka, true, lokacija);
                    //bool snimio = PodaciSpomenici.getInstance().getSpomeniciMapa().saveSpomenikNaMapi(snmp);
                    //vrsteNaMapi.Add(vrsta.ID, vrsta);
                    treeView1.SelectedNode = prevuceniCvor;
                    //pozicije.Add(prevuceniCvor, lokacija);
                    pb.Tag = new Tuple <Point, TreeNode>(lokacija, prevuceniCvor);                   //potrebno mi je da pamti ko mu je treenode i poziciju za kasniji drag i drop
                    //posto ne cuva pozicije nakon drag and drop po panelu
                    pb.ContextMenuStrip.Tag = new Tuple <Point, PictureBox>(lokacija, pb);

                    TreeNode key = null;
                    foreach (KeyValuePair <TreeNode, List <Point> > entry in sve_pozicije)
                    {
                        if (entry.Key.Text == prevuceniCvor.Text)
                        {
                            key = entry.Key;
                            break;
                        }
                    }

                    if (key != null)
                    {
                        List <Point> tacke = sve_pozicije[key];
                        tacke.Add(lokacija);
                    }
                    else
                    {
                        List <Point> tacke = new List <Point>();
                        tacke.Add(lokacija);
                        sve_pozicije.Add(prevuceniCvor, tacke);
                    }
                }
            }
            else                // ako nije sa stabla, onda je po panelu
            {
                Type       testTip          = new PictureBox().GetType();
                Panel      dropPicturePanel = (Panel)sender;
                PictureBox droppedPictureBox;

                prevuciSaMape    = false;
                selekcioniProzor = Rectangle.Empty;

                if (e.Data.GetDataPresent(testTip) && presjek == false)                 //Da li je poslati tip u stvari treeNode?
                {
                    droppedPictureBox = (PictureBox)e.Data.GetData(testTip);

                    Point lokacijaPanela = panelMapa.PointToScreen(Point.Empty);                       //  izracuna lokaciju u odnosu na panel
                    droppedPictureBox.Location = new System.Drawing.Point(e.X - lokacijaPanela.X, e.Y - lokacijaPanela.Y);

                    string oznaka   = droppedPictureBox.Name;
                    Point  lokacija = new Point(droppedPictureBox.Location.X - panelMapa.AutoScrollPosition.X,
                                                droppedPictureBox.Location.Y - panelMapa.AutoScrollPosition.Y);               //  u odnosu na panel i skrol
                    Tuple <Point, TreeNode> tuple = (Tuple <Point, TreeNode>)droppedPictureBox.Tag;
                    TreeNode prevuceniCvor        = tuple.Item2;
                    Point    stara_lokacija       = tuple.Item1;
                    ////PodaciSpomenici.getInstance().getSpomeniciMapa().izmeniSpomenikNaMapi(oznaka, true, lokacija);
                    foreach (KeyValuePair <TreeNode, List <Point> > entry in sve_pozicije)
                    {
                        if (entry.Key.Text == prevuceniCvor.Text)
                        {
                            List <Point> tacke = entry.Value;
                            for (int i = 0; i < tacke.Count; i++)
                            {
                                if (stara_lokacija.X == tacke[i].X && stara_lokacija.Y == tacke[i].Y)
                                {
                                    tacke[i] = lokacija;
                                    droppedPictureBox.Tag = new Tuple <Point, TreeNode>(lokacija, prevuceniCvor);
                                    droppedPictureBox.ContextMenuStrip.Tag = new Tuple <Point, PictureBox>(lokacija, droppedPictureBox);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }