private static bool CheckItemVisibility(ShellBarItemVisibility visibility, ShellBarItemVisibility itemToCheck) { return (itemToCheck & visibility) == itemToCheck; }
void ApplyShellBarItemVisibility(ShellBarItemVisibility visibility) { // Store user preferences this.shellBarItemVisibility = visibility; // Variable, Arguments, Imports UpdateStatusBarItemVisibility(this.variablesStatusBarItem, CheckItemVisibility(visibility, ShellBarItemVisibility.Variables), this.variables1); UpdateArgumentsButtonVisibility(CheckItemVisibility(visibility, ShellBarItemVisibility.Arguments)); UpdateStatusBarItemVisibility(this.importsStatusBarItem, CheckItemVisibility(visibility, ShellBarItemVisibility.Imports), this.imports1); // PanMode this.panModeStatusBarItem.Visibility = CheckItemVisibility(visibility, ShellBarItemVisibility.PanMode) ? Visibility.Visible : Visibility.Collapsed; // Zoom Visibility zoomVisibility = CheckItemVisibility(visibility, ShellBarItemVisibility.Zoom) ? Visibility.Visible : Visibility.Collapsed; this.zoomFitToScreenStatusBar.Visibility = zoomVisibility; this.zoomIconStatusBar.Visibility = zoomVisibility; this.zoomPickerStatusBar.Visibility = zoomVisibility; this.zoomSliderStatusBar.Visibility = zoomVisibility; // MiniMap this.minimapStatusBar.Visibility = CheckItemVisibility(visibility, ShellBarItemVisibility.MiniMap) ? Visibility.Visible : Visibility.Collapsed; // Hide entire status bar if nothing is visible this.shellBar.Visibility = (ShellBarItemVisibility.None == visibility) ? Visibility.Collapsed : Visibility.Visible; }