private void panelTabela_MouseUp(object sender, MouseEventArgs e) { if (e.Button != MouseButtons.Right) { return; } clickedItem = tabela.getItem(clientToTable(new PointF(e.X, e.Y)), selectedSprava(), selectedGrupa()); if (clickedItem == null) { return; } bool showDodajElement = true; bool showPromeniElement = true; bool showPromeniVelicinuSlike = true; bool showBrisiElement = true; bool showCut = true; bool showPaste = true; bool showIzaberiElement = true; bool showIzaberiVarijantu = true; bool showSeparator1 = true; bool showSeparator2 = true; if (rezimRada == TabelaElemenataFormRezimRada.Select) { showDodajElement = false; showPromeniElement = false; showPromeniVelicinuSlike = false; showBrisiElement = false; showCut = false; showPaste = false; showIzaberiElement = clickedItem.Element != null; if (clickedItem.Element != null && !clickedItem.Element.isVarijanta() && clickedItem.Element.Varijante.Count > 0) { showIzaberiVarijantu = true; mnIzaberiVarijantu.DropDownItems.Clear(); foreach (Element elem in clickedItem.Element.Varijante) { ToolStripMenuItem item = new ToolStripMenuItem(elem.VarijantaString); item.Tag = elem; item.Checked = izabrani.ContainsKey(elem.Id); item.Click += mnIzaberiVarijantu_Click; mnIzaberiVarijantu.DropDownItems.Add(item); } } else { showIzaberiVarijantu = false; } } else { showIzaberiElement = false; showIzaberiVarijantu = false; if (clickedItem.Element != null) { showDodajElement = false; showPromeniElement = true; showPromeniVelicinuSlike = clickedItem.Element.Slike.Count > 0; showBrisiElement = true; showCut = true; showPaste = false; } else { showDodajElement = true; showPromeniElement = false; showPromeniVelicinuSlike = false; showBrisiElement = false; showCut = false; showPaste = clipboard != null && clipboard.Sprava == clickedItem.Sprava; } } bool sector1Visible = showDodajElement || showPromeniElement || showPromeniVelicinuSlike || showBrisiElement; bool sector2Visible = showCut || showPaste; bool sector3Visible = showIzaberiElement || showIzaberiVarijantu; showSeparator1 = sector1Visible && (sector2Visible || sector3Visible); showSeparator2 = sector3Visible && (sector1Visible || sector2Visible); if (showSeparator1 && showSeparator2 && !sector3Visible) { showSeparator2 = false; } mnDodajElement.Visible = showDodajElement; mnPromeniElement.Visible = showPromeniElement; mnPromeniVelicinuSlike.Visible = showPromeniVelicinuSlike; mnBrisiElement.Visible = showBrisiElement; mnCut.Visible = showCut; mnPaste.Visible = showPaste; mnIzaberiElement.Visible = showIzaberiElement; mnIzaberiVarijantu.Visible = showIzaberiVarijantu; mnSeparator1.Visible = showSeparator1; mnSeparator2.Visible = showSeparator2; Element element = null; if (clickedItem != null) { element = clickedItem.Element; } mnIzaberiElement.Checked = element != null && izabrani.ContainsKey(element.Id); contextMenuTabela.Show(panelTabela, e.Location); }