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); }
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); }