Exemple #1
0
        private void tbTextString_TextChanged(object sender, EventArgs e)
        {
            if (UpdatingTicketLayout)
            {
                return;
            }
            if (!(SelectedItem is TextItem))
            {
                return;
            }
            TextItem item = (TextItem)SelectedItem;

            if (item.CanEditText())
            {
                item.Text = tbTextString.Text;
                UpdateTicketLayout();
                isChanged = true;
                UpdateSaveButton();
            }
            else
            {
                tbTextString.Text = item.GetText(this.Project);
            }
        }
Exemple #2
0
        public void UpdateTicketLayout()
        {
            if (UpdatingTicketLayout)
            {
                return;
            }
            UpdatingTicketLayout = true;

            // Assumping no action removes a ticket and adds one too
            if (lbTickets.Items.Count != Project.Tickets.Count)
            {
                UpdateTicketList();
            }

            Ticket selectedTicket = SelectedTicket;

            pnlTicketEditor.Visible = selectedTicket != null;

            btnEditTicket.Enabled        = selectedTicket != null;
            btnDeleteTicket.Enabled      = selectedTicket != null;
            pnlTicketItemButtons.Enabled = selectedTicket != null;
            pnlItemSettings.Enabled      = selectedTicket != null;

            pnlTicketItems.Controls.Clear();

            if (selectedTicket != null && this.pnlTicketEditor.Visible)
            {
                TicketItem previousItem = SelectedItem;

                // Assuming no action removes an item and adds one too
                if (lbItems.Items.Count != selectedTicket.Items.Count)
                {
                    lbItems.Items.Clear();
                    foreach (TicketItem item in selectedTicket.Items)
                    {
                        lbItems.Items.Add(item);
                    }
                    if (selectedTicket.Items.Contains(previousItem))
                    {
                        lbItems.SelectedItem = previousItem;
                    }
                    lbItems.Refresh();
                }
                else
                {
                    lbItems.Refresh();
                }

                TicketItem selectedItem = SelectedItem;

                btnMoveItemDown.Enabled  = selectedItem != null;
                btnDuplicateItem.Enabled = selectedItem != null;
                btnMoveItemUp.Enabled    = selectedItem != null;
                btnRemoveItem.Enabled    = selectedItem != null;

                if (selectedItem != null)
                {
                    // Make sure selected index is good
                    int index = SelectedTicket.Items.IndexOf(selectedItem);
                    if (lbItems.SelectedIndex != index)
                    {
                        lbItems.SelectedIndex = index;
                    }

                    pnlGeneralItemSettings.Enabled = true;

                    // Settings page visibility
                    pnlSpecificItemSettings.Visible = true;
                    pnlTextSettings.Visible         = selectedItem is TextItem;
                    pnlDateSettings.Visible         = selectedItem is DateItem;
                    pnlBorderSettings.Visible       = selectedItem is BorderItem;
                    pnlLineSettings.Visible         = selectedItem is LineItem;
                    pnlHorizontalScaling.Visible    = false;// selectedItem is TextItem;

                    // Field value depending on type
                    if (selectedItem is TextItem)
                    {
                        TextItem text = (TextItem)selectedItem;
                        cbTextFont.SelectedIndex = text.FontType == TextItem.TextFont.ArialBold ? 0 : 1;
                        if (!text.CanEditText())
                        {
                            tbTextString.Enabled = false;
                            tbTextString.Text    = "Automatic";
                        }
                        else
                        {
                            tbTextString.Enabled = true;
                            tbTextString.Text    = text.Text;
                        }
                        nudTextSpacing.Value = text.TextSpacing;
                        cbTextSize.Items.Clear();
                        if (text.FontType == TextItem.TextFont.ArialBold)
                        {
                            foreach (int i in new int[] { 8, 9, 10, 11, 12, 14, 16, 18 })
                            {
                                cbTextSize.Items.Add(i);
                            }
                        }
                        else
                        {
                            foreach (int i in new int[] { 8, 10, 12, 14 })
                            {
                                cbTextSize.Items.Add(i);
                            }
                        }
                        cbTextSize.SelectedItem = text.FontSize;
                        if (cbTextSize.SelectedItem == null)
                        {
                            cbTextSize.SelectedIndex = 0;
                            text.FontSize            = (int)cbTextSize.SelectedItem;
                        }

                        if (selectedItem is DateItem)
                        {
                            tbDateFormat.Text = ((DateItem)selectedItem).DateFormat;
                        }
                    }
                    else if (selectedItem is BorderItem)
                    {
                        BorderItem border = (BorderItem)selectedItem;
                        nudBorderWidth.Value     = border.Width;
                        nudBorderHeight.Value    = border.Height;
                        nudBorderThickness.Value = border.Thickness;
                    }
                    else if (selectedItem is LineItem)
                    {
                        LineItem line = (LineItem)selectedItem;
                        nudLineThickness.Value        = line.Thickness;
                        nudLineLength.Value           = line.Length;
                        cbLineDirection.SelectedIndex = line.LineDirection == LineItem.Direction.Horizontal ? 0 : 1;
                    }

                    // General settings
                    nudPosX.Value = selectedItem.Position.X;
                    nudPosY.Value = selectedItem.Position.Y;
                    nudHorizontalScaling.Value = selectedItem.HorizontalScaling;

                    if (selectedItem.HorizontalAlignment == TicketItem.Alignment.Begin)
                    {
                        cbPositionAlignmentHorizontal.SelectedIndex = 0;
                    }
                    else if (selectedItem.HorizontalAlignment == TicketItem.Alignment.Center)
                    {
                        cbPositionAlignmentHorizontal.SelectedIndex = 1;
                    }
                    else
                    {
                        cbPositionAlignmentHorizontal.SelectedIndex = 2;
                    }

                    if (selectedItem.VerticalAlignment == TicketItem.Alignment.Begin)
                    {
                        cbPositionAlignmentVertical.SelectedIndex = 0;
                    }
                    else if (selectedItem.VerticalAlignment == TicketItem.Alignment.Center)
                    {
                        cbPositionAlignmentVertical.SelectedIndex = 1;
                    }
                    else
                    {
                        cbPositionAlignmentVertical.SelectedIndex = 2;
                    }

                    if (selectedItem.Rotation == TicketItem.ItemRotation.R0)
                    {
                        cbRotation.SelectedIndex = 0;
                    }
                    else if (selectedItem.Rotation == TicketItem.ItemRotation.R270)
                    {
                        cbRotation.SelectedIndex = 3;
                    }
                    else if (selectedItem.Rotation == TicketItem.ItemRotation.R90)
                    {
                        cbRotation.SelectedIndex = 2;
                    }
                    else
                    {
                        cbRotation.SelectedIndex = 1;
                    }
                }
                else
                {
                    previousItem = null;
                    pnlSpecificItemSettings.Visible = false;
                    pnlGeneralItemSettings.Enabled  = false;
                }

                // Redraw every item NOW HANDLED BY event pnlTicketItems.Paint
                //foreach(TicketItem item in selectedTicket.Items)
                //    item.AddControl(pnlTicketItems.Controls, handler, item == previousItem);
                pnlTicketItems.Refresh();
            }
            else
            {
                pnlTicketEditor.Visible = false;
            }

            UpdatingTicketLayout = false;
        }