Пример #1
0
        private void mnuPasteTag_Click(System.Object sender, System.EventArgs e)
        {
            try
            {
                if (!(ClipboardControl == null))
                {
                    clsCtrlStatus ResourceStatus = new clsCtrlStatus();
                    ResourceStatus.Key = ClipboardControl.Name + "_" + GetTagNumber(ClipboardControl.Name + "_").ToString();
                    ResourceStatus.SetLocation(PointToClient(MousePosition));
                    ResourceStatus.Size         = ClipboardControl.CtrlStatus.Size;
                    ResourceStatus.ResTagFlag   = ClipboardControl.CtrlStatus.ResTagFlag;
                    ResourceStatus.ResourceType = ClipboardControl.CtrlStatus.ResourceType;
                    ResourceStatus.Text         = ClipboardControl.CtrlStatus.Text;
                    ResourceStatus.TextColor    = ClipboardControl.CtrlStatus.TextColor;
                    ResourceStatus.BackColor    = ClipboardControl.CtrlStatus.BackColor;
                    ResourceStatus.TextFontName = ClipboardControl.CtrlStatus.TextFontName;
                    ResourceStatus.TextSize     = ClipboardControl.CtrlStatus.TextSize;
                    ResourceStatus.TextStyle    = ClipboardControl.CtrlStatus.TextStyle;
                    ResourceStatus.ToolType     = ClipboardControl.CtrlStatus.ToolType;
                    ResourceStatus.IsNoEvent    = ClipboardControl.CtrlStatus.IsNoEvent;
                    ResourceStatus.IsViewSignal = ClipboardControl.CtrlStatus.IsViewSignal;

                    string sFactory      = "";;
                    string sLayoutID     = "";
                    string sTagID        = "";
                    char   sResType      = ' ';
                    string sText         = "";
                    int    iTagType      = 0;
                    int    iTextSize     = 0;
                    char   sTextStyle    = ' ';
                    int    iTextColor    = 0;
                    int    iBackColor    = 0;
                    int    iLocX         = 0;
                    int    iLocY         = 0;
                    int    iLocWidth     = 0;
                    int    iLocHeight    = 0;
                    char   sNoMouseEvent = ' ';
                    char   sSignalFlag   = ' ';

                    if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_LAYOUT)
                    {
                        sFactory  = modCommonFunction.GetStringBySeperator(m_ParentForm.Name, ":", 1);
                        sLayoutID = modCommonFunction.GetStringBySeperator(m_ParentForm.Name, ":", 2);
                    }
                    else if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_GROUP)
                    {
                        sFactory  = GlobalVariable.gsFactory;
                        sLayoutID = m_ParentForm.Name;
                    }

                    sTagID    = ResourceStatus.Key;
                    sResType  = ResourceStatus.ResTagFlag[0];
                    sText     = ResourceStatus.Text;
                    iTagType  = CmnFunction.ToInt(ResourceStatus.ToolType);
                    iTextSize = ResourceStatus.TextSize;
                    if (ResourceStatus.TextStyle < 0)
                    {
                        sTextStyle = '0';
                    }
                    else
                    {
                        sTextStyle = (char)(ResourceStatus.TextStyle + '0');
                    }
                    iTextColor = ResourceStatus.TextColor;
                    iBackColor = ResourceStatus.BackColor;
                    iLocX      = ResourceStatus.GetLocation().X;
                    iLocY      = ResourceStatus.GetLocation().Y;
                    iLocWidth  = ResourceStatus.GetSize().Width;
                    iLocHeight = ResourceStatus.GetSize().Height;
                    if (ResourceStatus.IsNoEvent == true)
                    {
                        sNoMouseEvent = 'Y';
                    }
                    else
                    {
                        sNoMouseEvent = ' ';
                    }

                    if (ResourceStatus.IsViewSignal == true)
                    {
                        sSignalFlag = 'Y';
                    }
                    else
                    {
                        sSignalFlag = ' ';
                    }

                    if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_LAYOUT)
                    {
                        if (modCommonFunction.UpdateResourceLocation(modGlobalConstant.MP_STEP_CREATE, sFactory, sLayoutID, sTagID, sResType, sText, iTagType, iTextSize, sTextStyle, iTextColor, iBackColor, iLocX, iLocY, iLocWidth, iLocHeight, sNoMouseEvent, sSignalFlag) == false)
                        {
                            return;
                        }
                    }
                    else if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_GROUP)
                    {
                        if (modCommonFunction.UpdateUDRResourceLocation(modGlobalConstant.MP_STEP_CREATE, sFactory, sLayoutID, sTagID, sResType, sText, iTagType, iTextSize, sTextStyle, iTextColor, iBackColor, iLocX, iLocY, iLocWidth, iLocHeight, sNoMouseEvent, sSignalFlag) == false)
                        {
                            return;
                        }
                    }

                    if (m_ParentForm.AddControl(ResourceStatus, true, false) == false)
                    {
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                CmnFunction.ShowMsgBox("frmFMBDesign.mnuPasteTag_Click()" + "\r\n" + ex.Message, "FMB Client", MessageBoxButtons.OK, 1);
            }
        }
Пример #2
0
        protected override void OnDragDrop(System.Windows.Forms.DragEventArgs drgevent)
        {
            try
            {
                if (m_ParentForm.IsDesignMode == false)
                {
                    Cursor.Current = Cursors.No;
                    return;
                }

                if (drgevent.Effect == DragDropEffects.Copy || drgevent.Effect == DragDropEffects.Move)
                {
                    if (modGlobalVariable.giToolType <= ListBox.NoMatches)
                    {
                        return;
                    }

                    //string sKey = "";
                    //string sText = "";
                    Size   szRegion = new Size();
                    string sFactory = "";
                    if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_LAYOUT)
                    {
                        sFactory = modCommonFunction.GetStringBySeperator(m_ParentForm.Name, ":", 1);
                    }
                    else if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_GROUP)
                    {
                        sFactory = GlobalVariable.gsFactory;
                    }
                    if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.Resource))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultResourceSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultResourceSize)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.Rectangle))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultRectangleSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultRectangleSize)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.Ellipse))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultEllipseSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultEllipseSize)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.Triangle))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultTriangleSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultTriangleSize)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.VerticalLine))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultVerticalLineSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultVerticalLineSize)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.HorizontalLine))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultHorizontalLineSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultHorizontalLineSize)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.PieType1))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie1Size)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie1Size)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.PieType2))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie2Size)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie2Size)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.PieType3))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie3Size)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie3Size)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.PieType4))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie4Size)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultPie4Size)).Height);
                    }
                    else if (modGlobalVariable.giToolType == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.TextType))
                    {
                        szRegion = new Size(((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultRectangleSize)).Width, ((Size)modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultRectangleSize)).Height);
                    }

                    Point ptLocation = this.PointToClient(new Point(drgevent.X, drgevent.Y));
                    ptLocation.X -= szRegion.Width / 2;
                    ptLocation.Y -= szRegion.Height / 2;

                    if (ptLocation.X < 0)
                    {
                        ptLocation.X = 0;
                    }
                    if (ptLocation.Y < 0)
                    {
                        ptLocation.Y = 0;
                    }

                    if (modGlobalVariable.giToolType > ListBox.NoMatches)
                    {
                        switch (modGlobalVariable.giToolType)
                        {
                        case 0:                                  //CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.Resource):

                            frmFMBCreateResource form = new frmFMBCreateResource(modGlobalConstant.MP_STEP_CREATE);
                            form.Tag = m_ParentForm.Tag;
                            if (!(modGlobalVariable.gNodeSelectedRes == null))
                            {
                                form.cdvResID.Text = ((clsDesignListTag)modGlobalVariable.gNodeSelectedRes.Tag).Key;
                            }
                            if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_LAYOUT)
                            {
                                form.txtFactory.Text = sFactory;
                                form.cdvLayOut.Text  = modCommonFunction.GetStringBySeperator(m_ParentForm.Name, ":", 2);
                            }
                            else if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_GROUP)
                            {
                                form.txtFactory.Text = sFactory;
                                form.cdvLayOut.Text  = m_ParentForm.Name;
                            }
                            else
                            {
                                CmnFunction.ShowMsgBox("pnlFMBDesign_DragDrop() Failed.", "FMB Client", MessageBoxButtons.OK, 1);
                                return;
                            }
                            form.txtX.Text      = ptLocation.X.ToString();
                            form.txtY.Text      = ptLocation.Y.ToString();
                            form.txtWidth.Text  = szRegion.Width.ToString();
                            form.txtHeight.Text = szRegion.Height.ToString();
                            if (form.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                            {
                                clsCtrlStatus ResourceStatus = new clsCtrlStatus();
                                ResourceStatus.Key = form.cdvResID.Text;
                                ResourceStatus.SetLocation(new Point(CmnFunction.ToInt(form.txtX.Text), CmnFunction.ToInt(form.txtY.Text)));
                                ResourceStatus.SetSize(new Size(CmnFunction.ToInt(form.txtWidth.Text), CmnFunction.ToInt(form.txtHeight.Text)));
                                ResourceStatus.Text       = form.txtText.Text;
                                ResourceStatus.ResTagFlag = form.txtResTagFlag.Text;
                                if (form.utcText.Color.IsSystemColor == true || form.utcText.Color.IsKnownColor == true)
                                {
                                    ResourceStatus.TextColor = CmnFunction.ToInt(form.utcText.Color.ToKnownColor());
                                }
                                else
                                {
                                    ResourceStatus.TextColor = form.utcText.Color.ToArgb();
                                }
                                ResourceStatus.TextFontName = System.Convert.ToString(modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultFontName));
                                if (form.cboSize.Text == "")
                                {
                                    ResourceStatus.TextSize = 0;
                                }
                                else
                                {
                                    ResourceStatus.TextSize = CmnFunction.ToInt(form.cboSize.Text);
                                }
                                ResourceStatus.TextStyle     = form.cboTextStyle.SelectedIndex;
                                ResourceStatus.ToolType      = (Enums.eToolType)modGlobalVariable.giToolType;
                                ResourceStatus.LastEvent     = form.txtLastEvent.Text;
                                ResourceStatus.PrimaryStatus = form.txtPriSts.Text;
                                ResourceStatus.ProcMode      = form.txtProcMode.Text;
                                if (form.txtCtrlMode.Text == "ON LINE")
                                {
                                    ResourceStatus.CtrlMode = "OL";
                                }
                                else if (form.txtCtrlMode.Text == "ON LINE REAL")
                                {
                                    ResourceStatus.CtrlMode = "OR";
                                }
                                else if (form.txtCtrlMode.Text == "OFF LINE")
                                {
                                    ResourceStatus.CtrlMode = "OF";
                                }
                                ResourceStatus.ResourceType = form.txtResourceType.Text;
                                ResourceStatus.UpDownFlag   = form.txtUpDown.Text;
                                ResourceStatus.AreaID       = form.txtArea.Text;
                                ResourceStatus.SubAreaID    = form.txtSubArea.Text;
                                if (System.Convert.ToString(modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.IsProcessMode)) == "P")
                                {
                                    ResourceStatus.IsProcessMode = true;
                                }
                                else
                                {
                                    ResourceStatus.IsProcessMode = false;
                                }
                                if (System.Convert.ToString(modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.UseEventColor)) == "Y")
                                {
                                    ResourceStatus.IsUseEventColor = true;
                                    ResourceStatus.EventBackColor  = modGlobalVariable.gGlobalOptions.GetOptions(sFactory, ResourceStatus.LastEvent).ToArgb();
                                }
                                else
                                {
                                    ResourceStatus.IsUseEventColor = false;
                                    ResourceStatus.EventBackColor  = modGlobalVariable.gGlobalOptions.GetOptions(sFactory, ResourceStatus.LastEvent).ToArgb();
                                }
                                if (form.utcBack.Color.IsSystemColor == true || form.utcBack.Color.IsKnownColor == true)
                                {
                                    ResourceStatus.BackColor = CmnFunction.ToInt(form.utcBack.Color.ToKnownColor());
                                }
                                else
                                {
                                    ResourceStatus.BackColor = form.utcBack.Color.ToArgb();
                                }
                                ResourceStatus.ImageIndex   = form.iImageIndex;
                                ResourceStatus.IsViewSignal = form.chkSignalFlag.Checked;
                                if (m_ParentForm.AddControl(ResourceStatus, true, false) == false)
                                {
                                    return;
                                }
                            }
                            break;

                        default:

                            frmFMBCreateTag form1 = new frmFMBCreateTag(modGlobalConstant.MP_STEP_CREATE);
                            form1.Tag = m_ParentForm.Tag;
                            if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_LAYOUT)
                            {
                                form1.txtFactory.Text = sFactory;
                                form1.txtLayOut.Text  = modCommonFunction.GetStringBySeperator(m_ParentForm.Name, ":", 2);
                            }
                            else if (System.Convert.ToString(m_ParentForm.Tag) == modGlobalConstant.FMB_CATEGORY_GROUP)
                            {
                                form1.txtFactory.Text = sFactory;
                                form1.txtLayOut.Text  = m_ParentForm.Name;
                            }
                            else
                            {
                                CmnFunction.ShowMsgBox("pnlFMBDesign_DragDrop() Failed.", "FMB Client", MessageBoxButtons.OK, 1);
                                return;
                            }
                            int iTagNumber;
                            iTagNumber               = GetTagNumber("Tag");
                            form1.txtTagID.Text      = "Tag" + iTagNumber.ToString();
                            form1.txtX.Text          = ptLocation.X.ToString();
                            form1.txtY.Text          = ptLocation.Y.ToString();
                            form1.txtWidth.Text      = szRegion.Width.ToString();
                            form1.txtHeight.Text     = szRegion.Height.ToString();
                            form1.SelectedShapeIndex = modGlobalVariable.giToolType - 1;
                            if (form1.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                            {
                                clsCtrlStatus ResourceStatus = new clsCtrlStatus();
                                ResourceStatus.Key = form1.txtTagID.Text;
                                ResourceStatus.SetLocation(new Point(CmnFunction.ToInt(form1.txtX.Text), CmnFunction.ToInt(form1.txtY.Text)));
                                if (form1.cboShape.SelectedIndex == CmnFunction.ToInt(Miracom.FMBUI.Enums.eToolType.VerticalLine) - 1)
                                {
                                    ResourceStatus.SetSize(new Size(CmnFunction.ToInt(form1.txtHeight.Text), CmnFunction.ToInt(form1.txtWidth.Text)));
                                }
                                else
                                {
                                    ResourceStatus.SetSize(new Size(CmnFunction.ToInt(form1.txtWidth.Text), CmnFunction.ToInt(form1.txtHeight.Text)));
                                }
                                ResourceStatus.Text       = form1.txtText.Text;
                                ResourceStatus.ResTagFlag = form1.txtResTagFlag.Text;
                                if (form1.utcText.Color.IsSystemColor == true || form1.utcText.Color.IsKnownColor == true)
                                {
                                    ResourceStatus.TextColor = CmnFunction.ToInt(form1.utcText.Color.ToKnownColor());
                                }
                                else
                                {
                                    ResourceStatus.TextColor = form1.utcText.Color.ToArgb();
                                }
                                if (form1.utcBack.Color.IsSystemColor == true || form1.utcBack.Color.IsKnownColor == true)
                                {
                                    ResourceStatus.BackColor = CmnFunction.ToInt(form1.utcBack.Color.ToKnownColor());
                                }
                                else
                                {
                                    ResourceStatus.BackColor = form1.utcBack.Color.ToArgb();
                                }
                                ResourceStatus.TextFontName = System.Convert.ToString(modGlobalVariable.gGlobalOptions.GetOptions(sFactory, clsOptionData.Options.DefaultFontName));
                                if (form1.cboSize.Text == "")
                                {
                                    ResourceStatus.TextSize = 0;
                                }
                                else
                                {
                                    ResourceStatus.TextSize = CmnFunction.ToInt(form1.cboSize.Text);
                                }
                                ResourceStatus.TextStyle = form1.cboTextStyle.SelectedIndex;
                                ResourceStatus.ToolType  = (Miracom.FMBUI.Enums.eToolType)form1.cboShape.SelectedIndex + 1;
                                ResourceStatus.IsNoEvent = form1.chkNoMouseEvent.Checked;
                                if (m_ParentForm.AddControl(ResourceStatus, true, false) == false)
                                {
                                    return;
                                }
                            }
                            break;
                        }

                        modGlobalVariable.gNodeSelectedRes = null;
                        modGlobalVariable.giToolType       = ListBox.NoMatches;
                    }
                }
            }
            catch (Exception ex)
            {
                CmnFunction.ShowMsgBox("frmFMBDesign.pnlFMBDesign_DragDrop()" + "\r\n" + ex.Message, "FMB Client", MessageBoxButtons.OK, 1);
            }
        }