Skip to content

Rc july26 dock panels11, merge into dahall, is a draft#17

Draft
tajbender wants to merge 298 commits into
dahall:nullableenabledfrom
tajbender:rc-July26-DockPanels11
Draft

Rc july26 dock panels11, merge into dahall, is a draft#17
tajbender wants to merge 298 commits into
dahall:nullableenabledfrom
tajbender:rc-July26-DockPanels11

Conversation

@tajbender

@tajbender tajbender commented Jul 10, 2026

Copy link
Copy Markdown

rc Release Candidate July 2026.

Includes:

  • DockPanelsEleven as a stub
  • merge into dahall,
  • is a draft
Screenshot Screenshot Screenshot

tajbender added 10 commits July 13, 2026 10:08
- Refactor system menu and docking logic for clarity and extensibility.
- Add sample data and commands to `SamplesAreaViewModel`.
 Update UI elements and feature tiles for improved presentation.
- Introduce `VanaraScienceLaboratoriesViewModel` and prepare for future lab experiments section.
- Change default window bounds to 1024x768 at (320, 256)
- Inject DockingService via constructor
- Reorder TrySetMicaBackdrop call after setting bounds
- Navigate to ShellPage on initialization
- Refactor and relocate SetWindowBounds method
- Add XML docs for SetWindowBounds and OnIconPressed
Refined Vanara.WinUI.Extensions folder structure in the project file by adding Controls\Shell32, Helpers, and Services folders. Updated the Utilities FeatureTile subtitle to mention extended system info. Changed TabViewItem header to "Vanara Jñāna Workbench."
Replaced WinRT.Interop.WindowNative.GetWindowHandle with WindowNative.GetWindowHandle in MainWindow. Added multiple tabs (NuGets, GitHub, Samples, Void, Settings, Disassembler, Utilities) during ShellPage initialization. Modified MainTabView_AddTabButtonClick to only add the "Void" tab.
Refactored FeatureTile properties and event handling, added XML docs, and improved debug output. Updated InspectorView and UtilitiesPage layouts, including new usage instructions and tab headers. Added Views\Pages and Views\Tabs folders to the project.
Re-add DisassemblerPage.xaml with its UI layout and DisassemblerPage.xaml.cs with the page initialization logic. This restores the Disassembler page to the project.
Refactored UtilitiesPage to wire up the Loaded event handler in the constructor. Cleaned up redundant comments and consolidated using directives. The OnLoaded method remains present but its implementation is still commented out.
Added DebugModeFloatingPanel.xaml and its code-behind, registering the new page in Jnana.csproj. Updated SettingsPage.xaml to set ScrollViewer BorderThickness to 3 and adjusted StackPanel formatting.
Added FileManagementOpus.xaml and code-behind to the project and registered it for compilation. Removed Views\Pages\ folder from the project file. Updated TabViewItem header in ShellPage.xaml from "Vanara Jñāna Workbench" to "Workbench".
@tajbender

Copy link
Copy Markdown
Author
image

Reordered TabView tabs, moving "SysInfo" to the end. Added new tabs: "File Opus", "Editor", and "ILSpy Disassembler" with placeholder content. Removed or replaced "Text Editor" and "Markdown Editor" tabs.
Refactored TabNavigationService to use a generic AddPageTab<T> method, removing specific tab methods. Updated page constructors to accept ViewModels. Changed ShellPage to use WorkbenchFrame for navigation and updated related XAML for consistency.
Added Styles\Backgrounds\ folder to Jnana.csproj.
Removed commented-out code for adding tabs with icons in ShellPage.xaml.cs, keeping only the lines that add "Utilities" and "Settings" tabs without icons.
- Added SettingsCard for selecting startup navigation page with ComboBox options.
- Included "Use System Setting" in theme selection ComboBox.
- Added two more "Advanced Examples" SettingsExpander sections, each with a telemetry SettingsCard, totaling three sections.
@tajbender

Copy link
Copy Markdown
Author
Screenie

@dahall any special expectations for the ILSpy Package Disassembler

Regards, tajbender

tajbender added 14 commits July 15, 2026 13:22
Restored VoidPage.xaml and VoidPage.xaml.cs with three-column layout and ViewModel logic. Updated UtilitiesPage.xaml "SysInfo" tab to use Grid and StackPanel with labeled TextBlocks for clearer system info display.
Added SysInfoIdentityViewModel to expose system info properties (OS version, machine name, workbench version, WinAppSdk version, Windows SDK version). Updated UtilitiesAreaViewModel to use this new class. Removed unused usings and adjusted namespace style.
Removed duplicate Telemetry settings cards and replaced them with a single card featuring a ComboBox. The ComboBox provides three navigation options: "Navigate to last used Page", "Navigate to Workbench", and "Navigate to Utility Page". This simplifies the UI and centralizes Telemetry navigation settings.
Updated SysInfoIdentityViewModel to include WinAppSdkVersion, WindowsSdkVersion, and a formatted WorkbenchVersion. Moved MachineName to UtilitiesAreaViewModel, which now delegates system info properties. Enabled bindings in UtilitiesPage.xaml to display these values and set design-time data context. Instantiated UtilitiesAreaViewModel in UtilitiesPage.xaml.cs for data binding.
- Added HexEditorTab page with basic structure and code-behind.
- Introduced internal SettingsService class (empty implementation).
- Cleaned up SettingsPage theme ComboBox and commented out Advanced Examples section.
- Updated UtilitiesPage: added ViewModels reference, reorganized SysInfo tab for clarity.
FeatureTile.xaml formatting is improved by consolidating Grid attributes. UtilitiesPage.xaml replaces the "Editor" tab with "Text Editor", "Hex Editor", and "Ressource Extractor" tabs, each with placeholder content. VoidPage.xaml removes redundant SettingsCard controls, updates NuGet and GitHub sections with clearer headers and tooltips, and adds a SettingsCard for launching GitHub Desktop.
- Updated Microsoft.Windows.SDK.BuildTools and Microsoft.WindowsAppSDK versions in Directory.Packages.props.
- Added new Vanara.WinUI.Extensions project to the solution.
- Created Vanara.WinUI.Extensions.csproj targeting net8.0-windows10.0.19041.0 with required references.
- Added initial partial class Class1 in Vanara.WinUI.Extensions namespace.
Introduced DockHost, DockPanel, and related classes/enums in DockHost.cs to support dockable panels in WinUI. Removed obsolete Class1.cs and replaced it with the new docking implementation.
- Move NuGetsPage and related navigation to Jnana.Views.Pages namespace and update all references
- Modernize NuGetsPage XAML: replace TreeView with AutoSuggestBox, refresh button, and ItemsRepeater in a grid layout
- Update NuGetsPage code-behind to accept optional ILogger and provide SetLogger method; comment out old selection logic
- Update ShellPage to use NuGetViewModel and new NuGetsPage constructor
- Update AddNewTab calls for new namespace and constructor
- Comment out obsolete code and prepare for further UI refactoring
Added NuGetPackageCard UserControl (XAML and code-behind) to display NuGet package details with actions. Updated Jnana.csproj to include the new control. Modified NuGetsPage constructor to ensure ViewModel is always initialized.
Added ShellInfoPanel XAML UserControl and code-behind to display shell item details (icon, name, type, properties, attributes, security, hashes, ADS, link target) in expandable sections. Included footer buttons for "Open", "Show in Explorer", and "Refresh". Updated Jnana.csproj to include the new files.
Commented out the "GitHub: Vanara" tab in ShellPage.xaml.cs due to a NullReferenceException in NuGetViewModel (added a TODO for investigation). Also commented out the <Border> around ItemsRepeater in VoidPage.xaml, leaving the repeater active for layout/debug purposes.
Reordered using directives in MainWindow.xaml.cs: added Microsoft.UI, Microsoft.UI.Composition.SystemBackdrops, and Microsoft.UI.Windowing; removed duplicates and adjusted order. Moved the NuGet <controls:SettingsCard> in VoidPage.xaml to appear after the package list for improved UI flow.
Added RootShellViewModel, NuGetService, and NuGetListViewModel to Jnana.ViewModels. Included properties and placeholders for future features like NuGet package management and tab handling. Updated using directives as needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant