1. Overview
The RestoreExcludeBox module provides additional restore-time exclusion choices.
Its principal responsibilities are:
- Exposes optional categories of data to skip during restore
- Stores the selected restore filtering state
- Integrates with the restore workflow
2. Class Structure and Dependencies
public class RestoreExcludeBox : Gtk.Box
The source imports:
GtkGeeTeeJee.LoggingTeeJee.FileSystemTeeJee.JsonHelperTeeJee.ProcessHelperTeeJee.GtkHelperTeeJee.SystemTeeJee.Misc
The GTK inheritance and imported modules allow the component to participate in the application event loop, share the central backup state, and construct native GTK4 controls.
3. Primary Runtime State
The principal fields declared by the module include:
Gtk.CheckButton chk_other– check button controlling otherGtk.CheckButton chk_web– check button controlling webGtk.CheckButton chk_torrent– check button controlling torrentGtk.Window parent_window– parent GTK window used for transient dialogs
4. User Interface Composition
The module primarily configures or hosts widgets created by reusable child components.
Event-driven behavior is connected through signals such as:
toggled
5. Initialization
RestoreExcludeBox()
public RestoreExcludeBox(Gtk.Window _parent_window)
Initializes the class instance, creates its GTK controls, and prepares the initial state. It connects the toggled signal.
6. Central Controller Integration
The module does not directly access the global App controller and instead operates through its own inputs or child objects.
7. Method Reference
refresh()
public void refresh()
Reloads current application state and updates the visible controls.
8. External Resources and Paths
The component does not directly define protected filesystem paths or external command strings.
9. Data and Event Flow
- Construct the component and initialize its child controls
- Load the current model state into the interface
- React to GTK signals generated by navigation, selections, and action controls
10. Runtime and Security Considerations
- Signal-driven behavior: GTK callbacks update the model and interface when controls are activated or changed.
11. Implementation Considerations
- State synchronization: refresh and save methods must keep visible controls consistent with the underlying application model.
12. Licensing
The source header contains the following copyright notices:
Copyright 2012-2018 Tony George <teejeetech@gmail.com>
The file is distributed under the GNU General Public License version 2 or later.
