Multiple buttons refreshing
This commit is contained in:
parent
2aae1805c5
commit
e67d94f199
@ -15,6 +15,7 @@ namespace RhSolutions.Controllers;
|
||||
public class RibbonController : ExcelRibbon
|
||||
{
|
||||
private static IRibbonUI ribbonUi;
|
||||
private static bool _workbookIsValid;
|
||||
|
||||
public override string GetCustomUI(string RibbonID)
|
||||
{
|
||||
@ -81,17 +82,9 @@ public class RibbonController : ExcelRibbon
|
||||
}
|
||||
}
|
||||
|
||||
public bool GetConvertEnabled(IRibbonControl control)
|
||||
{
|
||||
if (RhSolutionsAddIn.Excel.ActiveWorkbook == null)
|
||||
return false;
|
||||
|
||||
else
|
||||
{
|
||||
Worksheet worksheet = RhSolutionsAddIn.Excel.ActiveWorkbook.ActiveSheet;
|
||||
return worksheet.IsValidSource();
|
||||
}
|
||||
}
|
||||
public bool GetConvertEnabled(IRibbonControl control) => _workbookIsValid;
|
||||
public bool GetDxfEnabled(IRibbonControl control) => _workbookIsValid;
|
||||
public bool GetGuessEnabled(IRibbonControl control) => RhSolutionsAddIn.Excel.ActiveWorkbook == null ? false : !_workbookIsValid;
|
||||
|
||||
public bool GetExportEnabled(IRibbonControl control)
|
||||
{
|
||||
@ -105,30 +98,6 @@ public class RibbonController : ExcelRibbon
|
||||
}
|
||||
}
|
||||
|
||||
public bool GetDxfEnabled(IRibbonControl control)
|
||||
{
|
||||
if (RhSolutionsAddIn.Excel.ActiveWorkbook == null)
|
||||
return false;
|
||||
|
||||
else
|
||||
{
|
||||
Worksheet worksheet = RhSolutionsAddIn.Excel.ActiveWorkbook.ActiveSheet;
|
||||
return worksheet.IsValidSource();
|
||||
}
|
||||
}
|
||||
|
||||
public bool GetGuessEnabled(IRibbonControl control)
|
||||
{
|
||||
if (RhSolutionsAddIn.Excel.ActiveWorkbook == null)
|
||||
return false;
|
||||
|
||||
else
|
||||
{
|
||||
Worksheet worksheet = RhSolutionsAddIn.Excel.ActiveWorkbook.ActiveSheet;
|
||||
return !worksheet.IsValidSource();
|
||||
}
|
||||
}
|
||||
|
||||
public string GetVersionLabel(IRibbonControl control)
|
||||
{
|
||||
string version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||
@ -140,4 +109,16 @@ public class RibbonController : ExcelRibbon
|
||||
string name = RhSolutionsAddIn.Configuration.GetPriceListFileName();
|
||||
return string.IsNullOrEmpty(name) ? "Шаблонный файл" : name;
|
||||
}
|
||||
|
||||
public static void UpdateWorkbookValidation()
|
||||
{
|
||||
if (RhSolutionsAddIn.Excel.ActiveWorkbook == null)
|
||||
_workbookIsValid = false;
|
||||
|
||||
else
|
||||
{
|
||||
Worksheet worksheet = RhSolutionsAddIn.Excel.ActiveWorkbook.ActiveSheet;
|
||||
_workbookIsValid = worksheet.IsValidSource();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,35 +16,25 @@ namespace RhSolutions.Tools
|
||||
public static void Initialize()
|
||||
{
|
||||
RhSolutionsAddIn.Excel.SheetSelectionChange += RefreshExportButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate += RefreshConvertButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate += RefreshDxfButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate += RefreshGuessButton;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate += RefreshConvertButton;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate += RefreshDxfButton;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate += RefreshGuessButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate += RefreshButtons;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate += RefreshButtons;
|
||||
RhSolutionsAddIn.Configuration.OnSettingsChange += RefreshSettingTitle;
|
||||
}
|
||||
|
||||
public static void Uninitialize()
|
||||
{
|
||||
RhSolutionsAddIn.Excel.SheetSelectionChange -= RefreshExportButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate -= RefreshConvertButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate -= RefreshDxfButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate -= RefreshGuessButton;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshConvertButton;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshDxfButton;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshGuessButton;
|
||||
RhSolutionsAddIn.Excel.SheetActivate -= RefreshButtons;
|
||||
RhSolutionsAddIn.Excel.WorkbookActivate -= RefreshButtons;
|
||||
RhSolutionsAddIn.Configuration.OnSettingsChange -= RefreshSettingTitle;
|
||||
}
|
||||
|
||||
private static void RefreshConvertButton(object sh)
|
||||
private static void RefreshButtons(object sh)
|
||||
{
|
||||
RibbonController.UpdateWorkbookValidation();
|
||||
RibbonController.RefreshControl("convert");
|
||||
}
|
||||
|
||||
private static void RefreshDxfButton(object sh)
|
||||
{
|
||||
RibbonController.RefreshControl("dxfexport");
|
||||
RibbonController.RefreshControl("Guessexport");
|
||||
}
|
||||
|
||||
private static void RefreshExportButton(object sh, Range target)
|
||||
@ -52,11 +42,6 @@ namespace RhSolutions.Tools
|
||||
RibbonController.RefreshControl("export");
|
||||
}
|
||||
|
||||
private static void RefreshGuessButton(object sh)
|
||||
{
|
||||
RibbonController.RefreshControl("Guessexport");
|
||||
}
|
||||
|
||||
private static void RefreshSettingTitle(object sender, SettingChangingEventArgs e)
|
||||
{
|
||||
RibbonController.RefreshControl("setPriceList");
|
||||
|
Loading…
Reference in New Issue
Block a user