Example #1
0
        public bool AddProductLayouts()
        {
            bool isSuccess = true;

            try
            {
                foreach (ProductSettings prodSettings in _productSettings)
                {
                    ProductLayout productLayout = new ProductLayout(prodSettings.Name, prodSettings.LayoutName, prodSettings.ControlsLayouts);
                    if (string.IsNullOrEmpty(productLayout.errorMsg))
                    {
                        _productLayouts.Add(productLayout);
                    }
                    else
                    {
                        _packageManager.DiscardPackage(prodSettings.Name, productLayout.errorMsg);
                        isSuccess = false;
                    }
                }
            }
#if DEBUG
            catch (Exception e)
#else
            catch (Exception)
#endif
            {
#if DEBUG
                Logger.GetLogger().Error($"AddProductLayouts failed, error: {e.Message}");
#endif
                isSuccess = false;
            }

            _layoutsLoaded = true;
            return(isSuccess);
        }
Example #2
0
        public bool NextLayout()
        {
            if (_productLayouts != null && _productIndex < _productLayouts.Count)
            {
                _currntLayout = _productLayouts[_productIndex];

                if (!_currntLayout.controlLayout.ResourcesReady)
                {
                    InstallationPackage package = _packageManager.GetPackageByName(_currntLayout.productName);
                    if (package != null)
                    {
                        package.ErrorMessage = $"missing resource for control layout";
                        OnLayoutError(_currntLayout.productName, _productIndex);
                        package.OnInstallFailed?.Invoke(ErrorConsts.ERR_PKG_MISSING_LAYOUT_RESOURCES, package.ErrorMessage);
                    }
                    _productIndex++;
                    _internalSkippedProducts++;
                    _currntLayout.controlLayout.StopWaitingForResources();
                    _currntLayout = null;
                    return(NextLayout());
                }

                if (_pnlLayout.Controls.Count > 0)
                {
                    _pnlLayout.Resize -= ((ProductControl)_pnlLayout.Controls[0]).HandleChanges;
                }

                _pnlLayout.Controls.Clear();
                _pnlLayout.Controls.Add(_currntLayout.productLayout);
                _currntLayout.productLayout.HandleChanges();
                _pnlLayout.Resize += ((ProductControl)_pnlLayout.Controls[0]).HandleChanges;
                _optLayout         = new OptLayout(_pnlLayout, 4);
                OnLayoutShown(_currntLayout.productName, _productIndex);
            }
            _productIndex++;
            return(_productLayouts == null || _productIndex <= _productLayouts.Count);
        }