How abraham-ny/sabretooth-ide works
SabreTooth is a lightweight desktop Android IDE whose central workflow is to create or open a project, edit and save its files, configure project build settings, and invoke Gradle to produce an APK. The UI also supports project-tree file operations, search and replace, syntax highlighting, and global preferences. The README documents Gradle and Eclipse-style projects plus tool discovery; sampled source confirms key UI, project, and configuration relationships, but BuildManager internals were not sampled.
Main entry points: MainWindow.java Main window · EditorTabPanel.java Editor tabs · ProjectTreePanel.java Project tree · CodeEditorPane.java Code editor
Components 21
Application and workflow
- Application entry
src/com/vitalsoft/sabretooth/Main.java - Main window
src/com/vitalsoft/sabretooth/ui/MainWindow.java - Project model
src/com/vitalsoft/sabretooth/project/Project.java - Build console
src/com/vitalsoft/sabretooth/ui/ConsolePanel.java - Status bar
src/com/vitalsoft/sabretooth/ui/StatusBar.java
Project editing
- Project tree
src/com/vitalsoft/sabretooth/ui/ProjectTreePanel.java - Editor tabs
src/com/vitalsoft/sabretooth/ui/EditorTabPanel.java - Code editor
src/com/vitalsoft/sabretooth/ui/CodeEditorPane.java - Syntax highlighting
src/com/vitalsoft/sabretooth/ui/SyntaxHighlighter.java - Find and replace
src/com/vitalsoft/sabretooth/ui/FindReplaceDialog.java
Project setup
- New project wizard
src/com/vitalsoft/sabretooth/ui/NewProjectDialog.java - Project settings
src/com/vitalsoft/sabretooth/ui/ProjectSettingsDialog.java - Project configuration
src/com/vitalsoft/sabretooth/config/SabreConf.java - IDE preferences
src/com/vitalsoft/sabretooth/config/IdePreferences.java - Preferences dialog
src/com/vitalsoft/sabretooth/ui/IdePreferencesDialog.java
Build and tools
- Tool discovery
src/com/vitalsoft/sabretooth/util/ToolDetector.java - Build manager
src/com/vitalsoft/sabretooth/build/BuildManager.java
Other components
- IDE user
- Gradle
- Project files
- APK output
Connections 28
- IDE user → Main window: uses
- Application entry → Main window: opens
- Main window → Project model: opens or creates
- Main window → New project wizard: opens wizard
- New project wizard → Project model: creates scaffold
- Main window → Project tree: loads project
- Main window → Editor tabs: manages editors
- Project tree → Editor tabs: opens file
- Editor tabs → Code editor: hosts
- Code editor → Syntax highlighting: requests highlighting
- Code editor → Project files: reads and saves
- Project tree → Project files: lists and modifies
- Main window → Find and replace: opens search
- Main window → Project settings: opens settings
- Project settings → Project configuration: updates configuration
- Project model → Project configuration: loads configuration
- Project configuration → Project files: persists project config
- Main window → Preferences dialog: opens preferences
- Preferences dialog → IDE preferences: updates
- Main window → IDE preferences: reads and saves
- New project wizard → Tool discovery: queries installations
- Project settings → Tool discovery: queries installations
- Main window → Build manager: starts build
- Main window → Editor tabs: saves before build
- Build manager → Gradle: invokes
- Gradle → APK output: builds
- Build manager → Build console: streams output
- Main window → Status bar: updates status