Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void pbTagDetails(object sender, MouseEventArgs e)
- {
- // Boze pomozi prije nego sto se kompajlira ovo!
- PictureBox pb = (PictureBox)sender;
- string Tag = (string)pb.Tag;
- List<OznakaVrste> oTag = Oznaka.getInstance().getOznakaVrste();
- PictureBox prev = new PictureBox();
- prev = null;
- int counter = 0;
- pTag.Controls.Clear();
- if (!String.IsNullOrEmpty(Tag))
- {
- string[] tokens = Tag.Split(new string[] { ", " }, StringSplitOptions.None);
- for (int i = 0; i < tokens.Length; i++)
- {
- tokens[i] = tokens[i].Remove(0, 1);
- }
- for (int i = 0; i < Oznaka.getInstance().getOznakaVrste().Count; i++)
- {
- for (int j = 0; j < tokens.Length; j++)
- {
- MessageBox.Show(Oznaka.getInstance().getOznakaVrste()[i].oznaka + " - " + tokens[j]);
- if (Oznaka.getInstance().getOznakaVrste()[i].oznaka.Equals(tokens[j].Trim()))
- {
- PictureBox p = new PictureBox();
- ToolTip tt = new ToolTip();
- p.BackColor = (Oznaka.getInstance().getOznakaVrste()[i].boja);
- p.Width = Oznaka.getInstance().getOznakaVrste()[i].oznaka.Length * 10;
- p.Height = pTag.Height;
- if (prev != null)
- p.Location = locationOnClient(prev);
- p.Show();
- // Glupi handler za ispisivanje teksta na picturebox-u...
- tt.SetToolTip(p, Oznaka.getInstance().getOznakaVrste()[i].opis);
- p.Paint += new PaintEventHandler((sender2, e2) =>
- {
- e2.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
- string text = Oznaka.getInstance().getOznakaVrste()[i].oznaka;
- SizeF textSize = e2.Graphics.MeasureString(text, Font);
- PointF locationToDraw = new PointF();
- // Hocemo malo erotike, da centriramo tekst
- locationToDraw.X = (p.Width / 2) - (textSize.Width / 2);
- locationToDraw.Y = (p.Height / 2) - (textSize.Height / 2);
- e2.Graphics.DrawString(text, Font, Brushes.Black, locationToDraw);
- });
- // Gotovo handler :D
- p.Parent = pTag;
- pTag.Controls.Add(p);
- prev = p;
- counter++;
- }
- }
- }
- // MessageBox.Show(tokens[0]);
- }
- }
- private Point locationOnClient(Control c)
- {
- Point retval = new Point(0, 0);
- PictureBox pb = new PictureBox();
- /* List<Point> availControls = GetControls(pTag);
- foreach (var item in availControls)
- {
- MessageBox.Show(item.ToString());
- }
- */
- retval = pb.Location;
- Point final = new Point(retval.X + c.Width + 2, retval.Y);
- MessageBox.Show(final.ToString());
- return final;
- }
- /* public static List<Point> GetControls(Control panel)
- {
- var controlList = new List<Point>();
- Point pTemp = new Point(0, 0);
- foreach (Control p in panel.Controls)
- if (p.GetType() == typeof(PictureBox))
- {
- controlList.Add(p.Location);
- // p.Location = new Point(50, p.Location.Y);
- }
- return controlList;
- } */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement