Beispiel #1
0
 public WorkerDialog()
 {
     InitializeComponent();
     CancellationButton = new ButtonWrapper(btnCancel);
     Caption            = new LabelWrapper(lblCaption);
     Detail             = new LabelWrapper(lblDetailText);
     ProgressBar        = new ProgressbarWrapper(progressBar);
 }
Beispiel #2
0
 public WorkerDialog()
 {
     InitializeComponent();
     CancellationButton = new ButtonWrapper(btnCancel);
     Caption = new LabelWrapper(lblCaption);
     Detail = new LabelWrapper(lblDetailText);
     ProgressBar = new ProgressbarWrapper(progressBar);
 }
Beispiel #3
0
 public BlockNameDialog(Procedure proc, Block block)
 {
     InitializeComponent();
     BlockId           = new LabelWrapper(lblBlockID);
     BlockName         = new TextBoxWrapper(txtUserName);
     OkButton          = new ButtonWrapper(btnOK);
     this.ErrorMessage = new LabelWrapper(lblErrorText);
     new BlockNameInteractor(this, proc, block);
 }
Beispiel #4
0
        /// <summary>
        /// Deals with any ProgressChanged event trigger assuming the <c>ProgressChangedEventArgs</c>'s <c>UserState</c> is a <c>IWidgetWrapper</c>.
        /// </summary>
        private void BackgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            switch (e.UserState)
            {
            // The assignment to these local variables is needed.
            case ProgressBarWrapper c1:
                ProgressBarWrapper pbw = (ProgressBarWrapper)e.UserState;
                switch (pbw.ProgressBar)
                {
                case ProgressiveWidgetsEnum.ProgressBar.WholeProgressBar:
                    wholeProgressBar.Value = pbw.Value;
                    break;

                case ProgressiveWidgetsEnum.ProgressBar.DownloadProgressBar:
                    fileProgressBar.Value = pbw.Value;
                    break;

                default:
                    throw new NotImplementedException();
                }
                break;

            case LabelWrapper c2:
                LabelWrapper lw = (LabelWrapper)e.UserState;
                switch (lw.Label)
                {
                case ProgressiveWidgetsEnum.Label.InformativeLogger:
                    loggerDisplay.Text = lw.Value;
                    break;

                case ProgressiveWidgetsEnum.Label.DownloadLogger:
                    downloaderDisplay.Text = lw.Value;
                    break;

                case ProgressiveWidgetsEnum.Label.FileCountLogger:
                    filecount.Left = loggerDisplay.Location.X + loggerDisplay.Size.Width;
                    filecount.Text = lw.Value;
                    break;

                case ProgressiveWidgetsEnum.Label.DownloadSpeedLogger:
                    speed.Text = lw.Value;
                    break;

                default:
                    throw new NotImplementedException();
                }
                break;

            default:
                throw new NotImplementedException();
            }
        }
Beispiel #5
0
        public static void LabelField(StringValueLabel value, float width)
        {
            var label = Obj.Instantiate(I.labelPrefab.gameObject, parent).GetComponent <Text>();
            var rt    = label.rectTransform;

            rt.sizeDelta = rt.sizeDelta.SetX(width);
            label.text   = value.value;

            value.label = label;

            var wrapper = new LabelWrapper(label, value);

            label.color = labelColor;
            horizon.Add(label);
        }
        private void CreateMSAGLGraphAndPopulatePanelWithAssociatedControls()
        {
            if (Graph == null)
            {
                return;
            }
            Children.Clear();
            idGenerator = new ObjectIDGenerator();
            var edgeVMs   = Graph.Edges.ToArray();
            var nodeVMs   = edgeVMs.Select(e => e.Head).Concat(edgeVMs.Select(e => e.Tail)).Distinct().Select(nvm => new NodeWrapper(nvm, idGenerator)).ToDictionary(nw => nw.VM, nw => nw);
            var parentVMs = nodeVMs.Select(kv => Graph.Parent[kv.Key]).Where(pvm => pvm != null).Distinct().Select(pvm => nodeVMs[pvm]).ToArray();
            var leafVMs   = nodeVMs.Values.Except(parentVMs).ToArray();

            graph = new Microsoft.Msagl.Drawing.Graph
            {
                LayoutAlgorithmSettings = CurrentLayoutSettings
            };
            graph.RootSubgraph.IsVisible = false;
            vmOfCtrl = new Dictionary <IControl, Wrapper>();
            foreach (var sgvm in parentVMs)
            {
                var sg = new Microsoft.Msagl.Drawing.Subgraph(sgvm.ID);
                sgvm.DNode = sg;
                var ctrl = CreateControl(sgvm.VM, n => new TextSticker
                {
                    Text = n.ToString(),
                    HorizontalAlignment = Avalonia.Layout.HorizontalAlignment.Stretch,
                    VerticalAlignment   = Avalonia.Layout.VerticalAlignment.Stretch
                }, 1);
                vmOfCtrl[ctrl] = sgvm;
            }
            foreach (var sgvm in parentVMs)
            {
                var parent = Graph.Parent[sgvm.VM];
                var pGraph = (parent == null) ? graph.RootSubgraph : (Microsoft.Msagl.Drawing.Subgraph)nodeVMs[parent].DNode;
                pGraph.AddSubgraph((Microsoft.Msagl.Drawing.Subgraph)sgvm.DNode);
            }
            foreach (var evm in edgeVMs)
            {
                var dEdge = graph.AddEdge(nodeVMs[evm.Tail].ID, nodeVMs[evm.Head].ID);
                dEdge.Attr.ArrowheadAtSource = Edge.GetArrowStyle(evm.TailSymbol);
                dEdge.Attr.ArrowheadAtTarget = Edge.GetArrowStyle(evm.HeadSymbol);
                dEdge.LabelText = "x";
                evm.DEdge       = dEdge;
                CreateControl(evm, _ => new Connection(), 2);
            }
            foreach (var nvm in leafVMs)
            {
                var dNode = graph.FindNode(nvm.ID);
                nvm.DNode = dNode;
                var ctrl = CreateControl(nvm.VM, n => new TextSticker {
                    Text = n.ToString()
                }, 4);
                vmOfCtrl[ctrl] = nvm;
                var parent = Graph.Parent[nvm.VM];
                if (parent != null)
                {
                    var pw = nodeVMs[parent];
                    ((Microsoft.Msagl.Drawing.Subgraph)pw.DNode).AddNode(dNode);
                }
            }

            graph.Attr.LayerDirection = (Graph.Orientation == Graph.Orientations.Vertical)
        ? Microsoft.Msagl.Drawing.LayerDirection.TB
        : Microsoft.Msagl.Drawing.LayerDirection.LR;
            var flowOrder  = (Graph.Orientation == Graph.Orientations.Vertical) ? Graph.VerticalOrder : Graph.HorizontalOrder;
            var otherOrder = (Graph.Orientation == Graph.Orientations.Vertical) ? Graph.HorizontalOrder : Graph.VerticalOrder;

            IEnumerable <(NodeWrapper, NodeWrapper)> ComputeConstraints(Func <object, object, int> comparison) =>
            (from n1 in nodeVMs
             from n2 in nodeVMs
             let order = comparison(n1.Key, n2.Key)
                             where order != 0
                         select(order < 0) ? (n1.Value, n2.Value) : (n2.Value, n1.Value)).Distinct();

            foreach (var flowConstraint in ComputeConstraints(flowOrder))
            {
                graph.LayerConstraints.AddUpDownConstraint(flowConstraint.Item1.DNode, flowConstraint.Item2.DNode);
            }
            foreach (var otherConstraint in ComputeConstraints(otherOrder))
            {
                graph.LayerConstraints.AddLeftRightConstraint(otherConstraint.Item1.DNode, otherConstraint.Item2.DNode);
            }


            graph.CreateGeometryGraph();
            graph.GeometryGraph.RootCluster.RectangularBoundary = new Microsoft.Msagl.Core.Geometry.RectangularClusterBoundary();



            foreach (var evm in edgeVMs)
            {
                if (!evm.Label.Equals(string.Empty))
                {
                    var ctrl = CreateControl(evm.Label, l => new TextBlock {
                        Text = l.ToString(), FontSize = 6
                    }, 3);
                    vmOfCtrl[ctrl] = new LabelWrapper(evm.Label, idGenerator, evm.DEdge.Label);
                }
            }
        }
Beispiel #7
0
        private void LabelLoadInternal(LabelWrapper item, List <ErrorWrapper> retMessage, IUnitOfWork uow)
        {
            using (var lpMgr = IoC.Instance.Resolve <IBaseManager <LabelParams> >())
            {
                if (uow != null)
                {
                    lpMgr.SetUnitOfWork(uow);
                }

                var lparNames = item.LabelParamsL.Select(i => i.LABELPARAMSNAME).Distinct();

                var lpFilterList = FilterHelper.GetArrayFilterIn(SourceNameHelper.Instance.GetPropertySourceName(typeof(LabelParams),
                                                                                                                 LabelParams.LabelParamsNamePropertyName), lparNames,
                                                                 string.Format(" and {0} = '{1}'",
                                                                               SourceNameHelper.Instance.GetPropertySourceName(typeof(LabelParams),
                                                                                                                               LabelParams.LabelCodeRPropertyName), item.LABELCODE));
                var labelparams = new List <LabelParams>();
                foreach (var lpFilter in lpFilterList)
                {
                    labelparams.AddRange(lpMgr.GetFiltered(lpFilter).ToArray());
                }
                foreach (var lpWrapper in item.LabelParamsL)
                {
                    var existsLabelParams = labelparams.Where(i => lpWrapper.LABELPARAMSNAME.EqIgnoreCase(i.LabelParamsName)).ToArray();
                    if (existsLabelParams.Length == 0)
                    {
                        var ew = new ErrorWrapper
                        {
                            ERRORCODE    = MessageHelper.ErrorCode.ToString(),
                            ERRORMESSAGE = string.Format("Не существует параметр «{0}» для этикетки «{1}» артикула «{2}»",
                                                         lpWrapper.LABELPARAMSNAME, item.LABELCODE, item.ARTNAME)
                        };
                        retMessage.Add(ew);
                    }
                    else
                    {
                        var lpvMgr    = IoC.Instance.Resolve <IBaseManager <LabelParamsValue> >();
                        var lpvFilter = string.Format("{0} = {1} and {2} = {3}",
                                                      SourceNameHelper.Instance.GetPropertySourceName(typeof(LabelParamsValue), LabelParamsValue.LabelUseIDRPropertyName), lpWrapper.LABELUSEID_R,
                                                      SourceNameHelper.Instance.GetPropertySourceName(typeof(LabelParamsValue), LabelParamsValue.LabelParamsIDRPropertyName), existsLabelParams[0].LabelParamsID);
                        var labelParamsValue = lpvMgr.GetFiltered(lpvFilter).ToArray();
                        if (labelParamsValue.Length == 0)
                        {
                            var newLabelParamsValue = new LabelParamsValue
                            {
                                LabelUseIDR     = lpWrapper.LABELUSEID_R,
                                LabelParamsIDR  = existsLabelParams[0].LabelParamsID,
                                LabelParamsText = lpWrapper.LABELPARAMSVALUE
                            };
                            SetXmlIgnore(newLabelParamsValue, false);
                            lpvMgr.Insert(ref newLabelParamsValue);
                        }
                        else
                        {
                            var firstLabelParamsValue = labelParamsValue[0];
                            firstLabelParamsValue.LabelParamsText = lpWrapper.LABELPARAMSVALUE;

                            if (firstLabelParamsValue.IsDirty)
                            {
                                SetXmlIgnore(firstLabelParamsValue, false);
                                lpvMgr.Update(firstLabelParamsValue);
                                Log.DebugFormat("Обновлен параметр «{0}» для этикетки «{1}» артикула «{2}»",
                                                lpWrapper.LABELPARAMSNAME, item.LABELCODE, item.ARTNAME);
                            }
                            else
                            {
                                Log.DebugFormat("Обновление параметра «{0}» для этикетки «{1}» артикула «{2}» не требуется",
                                                lpWrapper.LABELPARAMSNAME, item.LABELCODE, item.ARTNAME);
                            }
                        }
                    }
                }
                if (retMessage.Any(mess => mess.ERRORCODE.Equals(MessageHelper.ErrorCode.ToString())))
                {
                    throw new IntegrationLogicalException("Ошибка при проверке параметров этикеток");
                }
            }
        }