예제 #1
0
    private void AutoSizeControl(string msg, MessageBoxButtons MButtons, bool bIcon)
    {
        this.m_bShowIcon = bIcon;
        Graphics g   = this.frmMessage.CreateGraphics();
        SizeF    szf = g.MeasureString(this.Msg, this.frmMessage.Font, int.MaxValue);

        g.Dispose();
        SizeF icosz = this.imageList1.ImageSize;
        float frmW  = SystemInformation.BorderSize.Width * 2 + szf.Width;

        if (bIcon)
        {
            frmW += icosz.Width + 2 * margin;
        }

        this.Width = Convert.ToInt32(frmW + 1);

        int buttonAreaW = 0;

        if (MButtons == MessageBoxButtons.OK)
        {
            buttonAreaW = this.panel1.Width + margin * 2 + SystemInformation.BorderSize.Width * 2;
            if (this.Width < buttonAreaW)
            {
                this.Width = buttonAreaW;
            }
            this.panel1.Location = new Point((this.Width - this.panel1.Width) / 2, this.panel1.Location.Y);
        }
        else if (MButtons == MessageBoxButtons.OKCancel || MButtons == MessageBoxButtons.RetryCancel || MButtons == MessageBoxButtons.YesNo)
        {
            buttonAreaW = this.panel1.Width * 2 + margin * 3 + SystemInformation.BorderSize.Width * 2;
            if (this.Width < buttonAreaW)
            {
                this.Width = buttonAreaW;
            }
            this.panel1.Location = new Point((this.Width - this.panel1.Width * 2 - margin) / 2, this.panel1.Location.Y);
            this.panel2.Location = new Point(this.panel1.Location.X + this.panel1.Width + margin, this.panel1.Location.Y);
        }
        else
        {
            buttonAreaW = this.panel1.Width * 3 + margin * 4 + SystemInformation.BorderSize.Width * 2;
            if (this.Width < buttonAreaW)
            {
                this.Width = buttonAreaW;
            }
            this.panel1.Location = new Point((this.Width - this.panel1.Width * 3 - margin * 2) / 2, this.panel1.Location.Y);
            this.panel2.Location = new Point(this.panel1.Location.X + this.panel1.Width + margin, this.panel1.Location.Y);
            this.panel3.Location = new Point(this.panel2.Location.X + this.panel2.Width + margin, this.panel1.Location.Y);
        }
#if DEBUG
        if (PubFunc.IsFactoryUser())
        {
            this.Height         += this.panel4.Height + 10;
            this.panel4.Location = new Point(this.panel1.Location.X, this.panel1.Bottom + 8);
        }
#endif
    }
예제 #2
0
        public void OnGetPrinterSetting(ref AllParam allParam, ref bool bChangeProperty)
        {
            try
            {
                if (_printerProperty.EPSONLCD_DEFINED)
                {
                    m_epsonBaseSetting.OnGetPrinterSetting(ref allParam.PrinterSetting, ref allParam.EpsonAllParam);
                }
                else
                {
                    m_BaseSetting.OnGetPrinterSetting(ref allParam.PrinterSetting);
                }

                m_BaseSetting.OnGetExtendedSettingsChange(ref allParam.ExtendedSettings);

                if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting))
                {
                    m_CalibrationSetting.OnGetPrinterSetting(allParam);
                }
                m_PreferenceSetting.OnGetPreference(ref allParam.Preference);
                m_SeviceSetting.OnGetProperty(ref allParam.PrinterProperty, ref bChangeProperty);
                //m_RealTimeSetting.OnGetPrinterSetting(ref allParam.PrinterSetting);
                m_MoveSetting.OnGetPrinterSetting(ref allParam.PrinterSetting);
                if (allParam.PrinterProperty.bSupportWhiteInk || allParam.PrinterProperty.bSupportWhiteInkYoffset)
                {
                    spotColorSetting1.OnGetPrinterSetting(ref allParam.PrinterSetting);
                    spotColorSetting1.OnGetExtendedSettingsChange(ref allParam.ExtendedSettings);
                }

                if (_printerProperty.EPSONLCD_DEFINED)
                {
                    m_SeviceSetting.OnGetServiceSetting(ref allParam.EpsonAllParam.sCaliConfig);
                    EpsonLCD.SetCaliConfig(allParam.EpsonAllParam.sCaliConfig);
                }

                //else
                {
                    SSeviceSetting sSeviceSet = allParam.SeviceSetting;
                    m_SeviceSetting.OnGetServiceSetting(ref sSeviceSet);
                    if (allParam.Preference.ScanningAxis == CoreConst.AXIS_X ||
                        allParam.Preference.ScanningAxis == CoreConst.AXIS_4)
                    {
                        sSeviceSet.scanningAxis = allParam.Preference.ScanningAxis;
                    }
                    else
                    {
                        sSeviceSet.scanningAxis = CoreConst.AXIS_X;
                    }

                    CoreInterface.SetSeviceSetting(ref sSeviceSet);
                    allParam.SeviceSetting = sSeviceSet;
                }
                SDoubleSidePrint doubleSide = allParam.DoubleSidePrint;
                doublePrintSetting1.OnGetScorpionSettings(ref doubleSide);
                allParam.DoubleSidePrint = doubleSide;

                //获取3D打印页签中的控件值
                m_Printer3DSetting.OnGetPrinterSetting(allParam);
                //获取用户设置的值
                userExtensionSetting.OnGetPrinterSetting(allParam);
                defineUVPowerLevel1.OnGetPrinterSetting(ref allParam.PrinterSetting, ref allParam.UvPowerLevelMap);
                //判断是否显示打印模式
                if ((UIFunctionOnOff.SupportPrintMode && PubFunc.IsFactoryUser()))
                {
                    jobConfigModes1.OnGetPrinterSetting();
                }

                if (UIFunctionOnOff.SupportMediaMode)
                {
                    mediaConfigs1.OnGetPrinterSetting();
                }

                if (UIFunctionOnOff.SupportCloseNozzle)
                {
                    closeColorNozzle1.OnGetPrinterSetting(ref allParam);
                }

                if (SPrinterProperty.IsJianRui())
                {
                    workposSetting1.OnGetPrinterSetting(ref allParam.PrinterSetting);
                }
                if (UIFunctionOnOff.SupportDebugQuality)
                {
                    debugQuality1.OnGetPrinterSetting(ref allParam);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #3
0
        public void OnPrinterPropertyChange(SPrinterProperty sp)
        {
            try
            {
                _printerProperty = sp;
                m_TabPagePrinterSetting.SuspendLayout();
                this.m_TabControlSetting.SuspendLayout();
                this.SuspendLayout();
                if (sp.EPSONLCD_DEFINED)
                {
                    this.m_BaseSetting.Dock         = DockStyle.None;
                    this.m_BaseSetting.Visible      = false;
                    this.m_epsonBaseSetting.Visible = true;
                    this.m_epsonBaseSetting.Dock    = DockStyle.Fill;
                }
                else
                {
                    this.m_epsonBaseSetting.Dock    = DockStyle.None;
                    this.m_epsonBaseSetting.Visible = false;
                    this.m_BaseSetting.Visible      = true;
                    this.m_BaseSetting.Dock         = DockStyle.Fill;
                }

                this.m_TabControlSetting.ResumeLayout(false);
                this.m_TabPagePrinterSetting.ResumeLayout(false);
                this.ResumeLayout(false);

                if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_TabPageCaliSetting);
                }

                if (sp.EPSONLCD_DEFINED)
                {
                    //if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting))
                    //    this.m_TabControlSetting.TabPages.Remove(this.m_TabPageCaliSetting);
                    if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageMoveSetting))
                    {
                        this.m_TabControlSetting.TabPages.Remove(this.m_TabPageMoveSetting);
                    }
                }
#if !ALLWIN
                //if (sp.IsDocan())
                {
                    if (this.m_TabControlSetting.TabPages.Contains(this.tabPageUVPowerLevel))
                    {
                        this.m_TabControlSetting.TabPages.Remove(this.tabPageUVPowerLevel);
                    }
                }
#endif
                if (sp.EPSONLCD_DEFINED)
                {
                    m_epsonBaseSetting.OnPrinterPropertyChange(sp);
                }
                else
                {
                    m_BaseSetting.OnPrinterPropertyChange(sp);
                }
                if (this.m_TabControlSetting.TabPages.Contains(this.m_TabPageCaliSetting))
                {
                    m_CalibrationSetting.OnPrinterPropertyChange(sp);
                }
                m_SeviceSetting.OnPrinterPropertyChange(sp);
                m_MoveSetting.OnPrinterPropertyChange(sp);
                spotColorSetting1.OnPrinterPropertyChange(sp);
                this.m_PreferenceSetting.OnPrinterPropertyChange(sp);
                this.m_Printer3DSetting.OnPrinterPropertyChange(sp);
                this.userExtensionSetting.OnPrinterPropertyChange(sp);
                doublePrintSetting1.OnPrinterPropertyChange(sp);
                //			m_RealTimeSetting.OnPrinterPropertyChange(sp);
                bool bNoRealPage =
                    ((sp.ePrinterHead == PrinterHeadEnum.Xaar_XJ128_80W) ||
                     (sp.ePrinterHead == PrinterHeadEnum.Xaar_XJ128_40W));
                //			if( bNoRealPage && m_TabControlSetting.TabPages.Contains(m_TabPageRealTime))
                //			{
                //				m_TabControlSetting.TabPages.Remove(m_TabPageRealTime);
                //			}
                //			else if(!bNoRealPage && !m_TabControlSetting.TabPages.Contains(m_TabPageRealTime))
                //			{
                //				m_TabControlSetting.TabPages.Add(m_TabPageRealTime);
                //			}
                bool bFacUser = (PubFunc.GetUserPermission() != (int)UserPermission.Operator);
                if (!bFacUser && m_TabControlSetting.TabPages.Contains(m_TabPageService))
                {
                    m_TabControlSetting.TabPages.Remove(m_TabPageService);
                }
                else if (bFacUser && !m_TabControlSetting.TabPages.Contains(m_TabPageService))
                {
                    m_TabControlSetting.TabPages.Add(m_TabPageService);
                }

                //bool isInwearSimpleUi = SPrinterProperty.IsInwearSimpleUi();
                if (!(sp.bSupportWhiteInk))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_TabPageWriteColor);
                }

                m_TabControlSetting.SelectedIndex = 0;

                SwitchToAdvancedMode(PubFunc.IsKingColorAdvancedMode || PubFunc.Is3DPrintMachine());

                if (!PubFunc.SupportDoubleSidePrint)
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_tabPageDoublePrint);
                }

                //判断是否为3D打印
                if (!PubFunc.Is3DPrintMachine() &&
                    !PubFunc.IsKINCOLOR_FLAT_UV() &&
                    this.m_TabControlSetting.TabPages.Contains(this.m_TabPage_3DPrinter))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_TabPage_3DPrinter);
                }

                //判断是否需要显示用户扩展设置
                if (!PubFunc.IsUserExtensionFormNeed() &&
                    this.m_TabControlSetting.TabPages.Contains(this.tabPageUserExtention))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.tabPageUserExtention);
                }

                //判断是否显示打印模式
                if ((!UIFunctionOnOff.SupportPrintMode || !PubFunc.IsFactoryUser()) &&
                    this.m_TabControlSetting.TabPages.Contains(this.tabPagJobModes))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.tabPagJobModes);
                }

                if (!UIFunctionOnOff.SupportMediaMode || !PubFunc.IsFactoryUser() &&
                    this.m_TabControlSetting.TabPages.Contains(this.tabPageMediaMode))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.tabPageMediaMode);
                }

                if (!sp.ShowGzPurgeControl() && this.m_TabControlSetting.TabPages.Contains(tabPagePressureSet))
                {
                    this.m_TabControlSetting.TabPages.Remove(this.tabPagePressureSet);
                }
                else
                {
                    temperatureSetting1.Visible = !SPrinterProperty.IsGONGZENG_DOUBLE_SIDE();
                    pressureSetting1.OnPrinterPropertyChange(sp);
                }

                if (!UIFunctionOnOff.SupportCloseNozzle)
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_tabPageCloseColorNozzle);
                }

                if (!PubFunc.IsCustomCloseNozzle())
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_tabPageCustomCloseNozzle);
                }

                if (!SPrinterProperty.IsJianRui())
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_tabPageWorkPosSetting);
                }
                else
                {
                    workposSetting1.OnPrinterPropertyChange(sp);
                }

                if (!PubFunc.SupportDebugQuality())
                {
                    this.m_TabControlSetting.TabPages.Remove(this.m_tabPageCustomDebugQuality);
                }
                else
                {
                    debugQuality1.OnPrinterPropertyChange(sp);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #4
0
    private void ButtonStatements(MessageBoxButtons MButtons)
    {
#if DEBUG
        if (PubFunc.IsFactoryUser())
        {
            this.ShowDebugButton(this.panel4);
            this.panel4.Visible = true;
        }
#endif
        if (MButtons == MessageBoxButtons.AbortRetryIgnore)
        {
            ShowIgnoreButton(panel1);
            ShowRetryButton(panel2);
            ShowAbortButton(panel3);
            this.panel1.Visible = true;
            this.panel2.Visible = true;
            this.panel3.Visible = true;
            return;
        }

        if (MButtons == MessageBoxButtons.OK)
        {
            ShowOKButton(panel1);
            this.panel1.Visible = true;
            return;
        }

        if (MButtons == MessageBoxButtons.OKCancel)
        {
            ShowCancelButton(panel1);
            ShowOKButton(panel2);
            this.panel1.Visible = true;
            this.panel2.Visible = true;
            return;
        }

        if (MButtons == MessageBoxButtons.RetryCancel)
        {
            ShowCancelButton(panel1);
            ShowRetryButton(panel2);
            this.panel1.Visible = true;
            this.panel2.Visible = true;
            return;
        }

        if (MButtons == MessageBoxButtons.YesNo)
        {
            ShowNoButton(panel1);
            ShowYesButton(panel2);
            this.panel1.Visible = true;
            this.panel2.Visible = true;
            return;
        }

        if (MButtons == MessageBoxButtons.YesNoCancel)
        {
            ShowCancelButton(panel1);
            ShowNoButton(panel2);
            ShowYesButton(panel3);
            this.panel1.Visible = true;
            this.panel2.Visible = true;
            this.panel3.Visible = true;
            return;
        }
    }
예제 #5
0
        private void HandleProtocol(string protocol, int i)
        {
            try
            {
                lock (this.tbandMonitor)
                {
                    CLockQueue mLinesQueue = this.m_iPrinterChange.GetLockQueue();
                    if (mLinesQueue != null)
                    {
                        string[]     temp     = protocol.Split(new char[] { ';' });
                        DatatypeEnum dataType = (DatatypeEnum)byte.Parse(temp[1]);
                        switch (dataType)
                        {
                        case DatatypeEnum.Print:
                        {
                            int          reversePrint = int.Parse(temp[3]);
                            TcpipCmdPara linearray    = new TcpipCmdPara();
                            linearray.CmdType      = (int)dataType;
                            linearray.PrtPath      = temp[2];
                            linearray.ReversePrint = reversePrint == 1;
                            mLinesQueue.PutInQueue(linearray);
                            if ((PubFunc.GetUserPermission() == (int)UserPermission.SupperUser))
                            {
                                LogWriter.WriteLog(new string[] { protocol + "  " + mLinesQueue.GetCount() }, true);
                            }
                            bandCount++;
                            Debug.WriteLine(string.Format("line num ={0}", bandCount));
                            break;
                        }

                        case DatatypeEnum.DoubleSideCari:
                        {
                            if (worker != null)
                            {
                                worker.ReportProgress((int)DatatypeEnum.DoubleSideCari, temp);
                            }
                            break;
                        }

                        case DatatypeEnum.PauseCmd:
                        {
                            PrinterOperate po = PrinterOperate.UpdateByPrinterStatus(curStatus);
                            if (po.CanPause)
                            {
                                CoreInterface.Printer_Pause();
                            }
                            break;
                        }

                        case DatatypeEnum.ResumeCmd:
                        {
                            PrinterOperate po = PrinterOperate.UpdateByPrinterStatus(curStatus);
                            if (po.CanResume)
                            {
                                CoreInterface.Printer_Resume();
                            }
                            break;
                        }

                        case DatatypeEnum.Error:
                        {
                            break;
                        }

                        default:
                            Debug.Assert(false, string.Format("未知的协议数据类型({0},temp[0])"));
                            break;
                        }
                        if (PubFunc.IsFactoryUser())
                        {
                            LogWriter.WriteLog(new string[] { protocol + "  " + mLinesQueue.GetCount() }, true);
                        }
                    }
                    else
                    {
                        if ((PubFunc.GetUserPermission() == (int)UserPermission.SupperUser))
                        {
                            LogWriter.WriteLog(new string[] { protocol + "  " + "mLinesQueue=null" }, true);
                        }
                    }
                    this.tbandMonitor.Reset();
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                if (worker != null)
                {
                    worker.ReportProgress(0, ex.Message);
                }
                MessageBox.Show(ex.Message + ex.StackTrace);
                this.Connected = false;
            }
        }
예제 #6
0
        // 再读取完成时进行回调
        private void OnReadComplete(IAsyncResult ar)
        {
            int bytesRead = 0;

            try
            {
                NetworkStream stream = (NetworkStream)ar.AsyncState;
                lock (stream)
                {
                    bytesRead = stream.EndRead(ar);
                    Debug.WriteLine(string.Format("Reading data, {0} bytes ...", bytesRead));
                }
                if (this.streams == null)
                {
                    if (worker != null)
                    {
                        worker.ReportProgress(-1, ResString.GetResString("Shizixiu_UnConnected"));
                        worker.ReportProgress(0, "all UnConneted");
                    }
                    return;
                }
                int i = 0;
                for (; i < this.streams.Length; i++)
                {
                    if (streams[i] == stream)
                    {
                        break;
                    }
                }
                byte[] buffer = (byte[])buffers[i];
                if (bytesRead != 0)
                {
                    string msg = Encoding.Default.GetString(buffer, 0, bytesRead);
                    Array.Clear(buffer, 0, buffer.Length);                              // 清空缓存,避免脏读
                    if (PubFunc.IsFactoryUser())
                    {
                        LogWriter.WriteLog(new string[] { "OnReadComplete==" + msg }, true);
                    }

                    // 获取protocol数组
                    ArrayList protocolArray = handler.GetProtocol(msg);
                    for (int j = 0; j < protocolArray.Count; j++)
                    {
                        // 这里异步调用,不然这里可能会比较耗时
                        //						ParameterizedThreadStart start = new ParameterizedThreadStart(this.HandleProtocol);
                        //						start.BeginInvoke(pro, null, null);
                        this.HandleProtocol((string)protocolArray[j], i);
                    }
                }
                else
                {
                    if (worker != null)
                    {
                        worker.ReportProgress(-1, ResString.GetResString("Shizixiu_UnConnected"));
                        worker.ReportProgress(0, string.Format("Client({0}) UnConneted", ipAddress[i]));
                    }
                    this.Connected = false;
                    return;
                    //throw new Exception("收到0字节");
                }
                // 再次调用BeginRead(),完成时调用自身,形成无限循环
                lock (stream)
                {
                    AsyncCallback callBack = new AsyncCallback(OnReadComplete);
                    stream.BeginRead(buffer, 0, BufferSize, callBack, stream);
                }
            }
            catch (Exception ex)
            {
                if (worker != null)
                {
                    //                    Protocol status = new Protocol(TcpIpCmdEnum.StatusDirty, 0, ex.Message, CmdReturnValueEnum.Error, 0, 0);
                    worker.ReportProgress(0, ex.Message);
                    worker.ReportProgress(-1, ResString.GetResString("Shizixiu_UnConnected"));
                }
                Debug.WriteLine(ex.Message);                            // 捕获异常时退出程序
                //OnTcpClientClosed(new EventArgs());
                MessageBox.Show(ex.Message);
                this.Reset();
            }
        }
예제 #7
0
        //SNozzleOverlap fwData = new SNozzleOverlap(null);

        public CloseColorNozzle_New()
        {
            InitializeComponent();
            if (PubFunc.IsInDesignMode())
            {
                return;
            }
            //加载模式
            if (PubFunc.IsFactoryUser())
            {
                IsSupperUser = true;
            }
            comboBox_model.Items.Clear();
            foreach (CloseColorNozzleModelEnum place in Enum.GetValues(typeof(CloseColorNozzleModelEnum)))
            {
                string cmode = ResString.GetEnumDisplayName(typeof(CloseColorNozzleModelEnum), place);
                comboBox_model.Items.Add(cmode);
            }
            if (!IsSupperUser)
            {
                comboBox_model.Items.RemoveAt(2);
            }
            RowNum = CoreInterface.GetRowNum();
            if (RowNum > 1)
            {
                RowNum -= 1;
            }
            //HeadNumPerRow = 0;
            //maxHeadNumPerRow = 0;
            //for (int i = 0; i < RowNum; i++)
            //{
            //    HeadNumPerRow = CoreInterface.GetHeadNumPerRow(i);
            //    if (maxHeadNumPerRow < HeadNumPerRow)
            //    {
            //        maxHeadNumPerRow = HeadNumPerRow;
            //    }
            //}

            //int lineIdx = 1;
            //for (int i = 0; i < RowNum; i++)
            //{
            //    List<byte> tempArray = new List<byte>();
            //    int lineNum = CoreInterface.GetLineNumPerRow(i);
            //    for (int j = 0; j < lineNum; j++)
            //    {
            //        NozzleLineData lineData = new NozzleLineData();
            //        CoreInterface.GetlineIDtoNozzleline(lineIdx, ref lineData);

            //        if (tempArray.IndexOf(lineData.ColorID) < 0)
            //        {
            //            tempArray.Add(lineData.ColorID);
            //        }

            //        lineIdx++;
            //    }

            //    if (maxHeadNumPerRow < tempArray.Count)
            //    {
            //        maxHeadNumPerRow = tempArray.Count;
            //    }

            //}

            //从JobPrint中获取支持的最大颜色数
            maxHeadNumPerRow = CoreInterface.GetLayoutColorNum();
            for (int i = 0; i < maxHeadNumPerRow; i++)
            {
                LayoutColorNameEnums.Add((LayoutColorNameEnum)CoreInterface.GetLayoutColorID(i));
            }

            m_HorColumnNum = CoreInterface.GetMaxColumnNum();
            if (m_HorColumnNum < 1)
            {
                m_HorColumnNum = 1;
            }
            //if (maxHeadNumPerRow < 2) maxHeadNumPerRow = 2;

            comboBox_model.SelectedIndex = 0;
        }