Redesign wiki home page for end-users; add structure and stub pages

- Reorganize Home.md with end-user-first structure
- Add Getting Started, User Documentation, Development sections
- Create stub pages for Quick Start Guide, User Manual, FAQ, Tips & Tricks
- Add developer stubs: Building, Contributing, Development Roadmap
- Add About section: History, Features, License, Community

The stubs provide structure and placeholders ready for content to be filled in.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GtMZqGEiUMvDBqcFvVG2vb
ispyisail
2026-09-09 14:56:29 +12:00
parent d096a83dc6
commit 6242ac4458
12 changed files with 1674 additions and 15 deletions
+65 -15
@@ -1,22 +1,72 @@
# QElectroTech source-mirror wiki
# QElectroTech Wiki
Reference documentation for the two hand-editable XML formats QElectroTech
reads and writes, plus pointers for developers building QET itself.
**QElectroTech** is a free, open-source application for creating electrical diagrams and schematics. This wiki serves users, contributors, and developers.
## I want to...
---
**...write or understand an element file (`.elmt`)**
→ [Elements XML structure](elements_XML)
## 🚀 Getting Started
**...write or understand a project file (`.qet`)**
→ [Project XML structure](project_XML)
New to QElectroTech? Start here:
**...build or hack on QET itself**
→ [Doxygen API docs](https://download.qelectrotech.org/qet/doxygen/html/) · [Generated developer docs](https://de-backer.github.io/qelectrotech-source-mirror/html/pages.html) · [Developer tools](tools)
- **[Quick Start Guide](quick_start_guide)** — Download, install, and create your first diagram (5 minutes)
- **[Download QElectroTech](https://qelectrotech.org/downloads/)** — Official releases and nightly builds
## Status
---
Both XML formats are now documented down to their child elements, verified
against the QET source and a corpus of real `.qet` and `.elmt` files. See
[contributing to this wiki](contributor_to_wiki_guidelines) if you spot a gap
or something that has drifted.
## 📚 User Documentation
**Using QElectroTech:**
- **[User Manual](user_manual)** — Complete guide to features, tools, and workflows
- **[Creating Elements](elements_XML)** — Write and understand element files (`.elmt`)
- **[Project Files](project_XML)** — Understand and edit project files (`.qet`)
- **[Tips & Tricks](tips_and_tricks)** — Common workflows and best practices
**Getting Help:**
- **[FAQ](faq)** — Frequently asked questions
- **[Forum & Support](https://forum.qelectrotech.org/)** — Community support
- **[Issue Tracker](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Report bugs and request features
---
## 🔧 Development
**Building & Contributing:**
- **[Building QET](building)** — Compile from source
- **[Developer Tools](tools)** — Utilities and debugging resources
- **[Contributing to QET](contributing)** — Guidelines for submitting code and improvements
- **[Contributing to the Wiki](contributor_to_wiki_guidelines)** — Help improve this documentation
**API & Architecture:**
- **[API Documentation](https://download.qelectrotech.org/qet/doxygen/html/)** — Doxygen reference
- **[Generated Docs](https://de-backer.github.io/qelectrotech-source-mirror/html/pages.html)** — Architecture overview
- **[Current Development Work](development_roadmap)** — What's being worked on
---
## ℹ️ About QElectroTech
- **[History](history)** — The story of QET's development
- **[Features](features)** — What QET can do
- **[License](license)** — Licensing information
- **[Community](community)** — Join us
---
## 🔍 Quick Reference
**I want to...**
| Goal | Link |
|------|------|
| Draw my first diagram | [Quick Start Guide](quick_start_guide) |
| Learn how to use QET | [User Manual](user_manual) |
| Create custom elements | [Elements XML Structure](elements_XML) |
| Understand project files | [Project XML Structure](project_XML) |
| Build QET from source | [Building QET](building) |
| Contribute to QET | [Contributing Guide](contributing) |
| Report a bug | [Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues) |
| Get API documentation | [Doxygen Docs](https://download.qelectrotech.org/qet/doxygen/html/) |
+182
@@ -0,0 +1,182 @@
# Building QElectroTech
Instructions for building QElectroTech from source code.
## Prerequisites
### Linux
**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install build-essential cmake qt5-qmake qtbase5-dev
```
**Fedora/RHEL:**
```bash
sudo dnf groupinstall "Development Tools"
sudo dnf install cmake qt5-qtbase-devel qt5-qmake
```
**Arch Linux:**
```bash
sudo pacman -S base-devel cmake qt5-base
```
### macOS
1. Install Xcode Command Line Tools:
```bash
xcode-select --install
```
2. Install Qt5 (via Homebrew):
```bash
brew install qt5 cmake
```
### Windows
1. Install Visual Studio Build Tools or MinGW
2. Install Qt5 from [qt.io](https://qt.io)
3. Install CMake from [cmake.org](https://cmake.org)
---
## Building from Source
### Step 1: Clone the Repository
```bash
git clone https://github.com/qelectrotech/qelectrotech-source-mirror.git
cd qelectrotech-source-mirror
```
### Step 2: Configure the Build
```bash
mkdir build && cd build
cmake ..
```
### Step 3: Compile
```bash
cmake --build . --config Release
```
Or use your platform's build tool:
**Linux/macOS:**
```bash
make -j$(nproc)
```
**Windows (MSVC):**
```bash
cmake --build . --config Release --parallel
```
### Step 4: Install (Optional)
```bash
cmake --install .
```
Or run the binary from the build directory.
---
## Building Variants
### Debug Build
```bash
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
```
### With AddressSanitizer (ASAN)
```bash
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address" ..
cmake --build .
```
### With ThreadSanitizer (TSan)
```bash
cmake -DCMAKE_CXX_FLAGS="-fsanitize=thread" ..
cmake --build .
```
---
## Troubleshooting Build Issues
### CMake Can't Find Qt5
*Solutions for Qt5 discovery issues*
### Compilation Errors
*Common compilation errors and fixes*
### Linker Errors
*Common linking issues*
---
## Building in Docker
See the project's `Dockerfile` for containerized builds:
```bash
docker build -t qelectrotech:release .
docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix qelectrotech:release
```
---
## Build Optimization
### Faster Builds
*Tips for speeding up compilation*
### Parallel Builds
*Using multiple cores for faster compilation*
### Incremental Builds
*Only rebuilding changed files*
---
## Running Tests
After building, run the test suite:
```bash
ctest
```
Or:
```bash
make test
```
---
## Contributing Changes
See **[Contributing](contributing)** for guidelines on submitting code changes.
---
## Getting Help
- **[Forum](https://forum.qelectrotech.org/)** — Build problems discussion
- **[Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Report build-related bugs
- **[Developer Docs](https://de-backer.github.io/qelectrotech-source-mirror/html/pages.html)** — Architecture reference
+195
@@ -0,0 +1,195 @@
# Community
QElectroTech is built and maintained by a passionate community of users, developers, and contributors.
## Getting Connected
### Forum
**[QElectroTech Forum](https://forum.qelectrotech.org/)**
The main place to ask questions, share tips, and connect with other users.
- Ask for help with using QET
- Share your projects and workflows
- Discuss new features and improvements
- Contribute to tutorials and guides
### GitHub
**[GitHub Repository](https://github.com/qelectrotech/qelectrotech-source-mirror)**
Report bugs, request features, and contribute code.
- **Issues** — Report bugs and request features
- **Discussions** — Open-ended conversations
- **Pull Requests** — Contribute code improvements
### Releases
Stay updated with the latest versions:
- **[Downloads](https://qelectrotech.org/downloads/)** — Official releases
- **[Release Notes](https://github.com/qelectrotech/qelectrotech-source-mirror/releases)** — What's new in each version
- **Nightly Builds** — Try cutting-edge features (use with caution)
---
## Ways to Get Involved
### Use QElectroTech
Simply using QET and sharing your work with the community helps!
- Create amazing diagrams
- Share your workflows
- Participate in the forum
### Report Bugs
Found a problem? Help us fix it:
1. **Search** existing issues to avoid duplicates
2. **Report** with clear steps to reproduce
3. **Follow up** on your report to help with diagnosis
### Suggest Features
Have an idea? Share it:
1. **Start a discussion** about your idea
2. **Describe** what you want and why
3. **Engage** with others interested in the feature
### Create Elements
Share your custom element libraries:
1. **Create custom elements** for your domain
2. **Publish** on the **[Elements Repository](https://github.com/qelectrotech/qelectrotech-elements)**
3. **Maintain** and improve your contributions
### Help Others
Join the community helping each other:
- Answer questions on the **[Forum](https://forum.qelectrotech.org/)**
- Create tutorials and guides
- Translate QET to other languages
- Help improve documentation
### Contribute Code
Developers can contribute directly:
- **Fix bugs** — Address open issues
- **Add features** — Build new functionality
- **Improve performance** — Optimize existing code
- **Refactor** — Improve code quality and maintainability
See **[Contributing](contributing)** for guidelines.
### Improve Documentation
Help make QET more accessible:
- Improve this wiki
- Create guides and tutorials
- Update API documentation
- Translate documentation
See **[Contributing to the Wiki](contributor_to_wiki_guidelines)**.
---
## Project Maintainers
*Information about who maintains QElectroTech and their roles*
### Core Team
*Core maintainers and their responsibilities*
### Active Contributors
*Recognition of major contributors*
---
## Communication Channels
### Primary
- **[Forum](https://forum.qelectrotech.org/)** — General discussion and support
- **[GitHub Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Bug reports and features
- **[GitHub Discussions](https://github.com/qelectrotech/qelectrotech-source-mirror/discussions)** — Feature ideas and discussions
### Development
- **[GitHub Repository](https://github.com/qelectrotech/qelectrotech-source-mirror)** — Code, releases, and project tracking
- **[Elements Repository](https://github.com/qelectrotech/qelectrotech-elements)** — Element libraries and symbols
### Social (if available)
*Links to any social media presence, mailing lists, or other channels*
---
## Community Guidelines
We're committed to a welcoming, respectful community:
### Be Respectful
- Treat everyone with courtesy
- Welcome different perspectives
- Disagree constructively
### Be Helpful
- Share knowledge and experience
- Help answer questions
- Create tutorials and guides
### Keep It Safe
- No harassment or discrimination
- No spam or self-promotion without context
- Respect others' privacy
### Report Issues
If you see something inappropriate:
1. Don't engage with it
2. Report to project maintainers
3. Trust the community leadership to handle it
---
## Contributor Recognition
We recognize and appreciate all contributions:
- **[GitHub Contributors](https://github.com/qelectrotech/qelectrotech-source-mirror/graphs/contributors)** — Code contributors
- **[Documentation Contributors](contributor_to_wiki_guidelines)** — Wiki and documentation help
- **[Translation Contributors](https://qelectrotech.org/)** — Internationalization efforts
- **[Element Creators](https://github.com/qelectrotech/qelectrotech-elements)** — Symbol and element library creators
Your work makes QElectroTech better for everyone! 🎉
---
## Sponsorship & Support
*Information about how to support QElectroTech development (if applicable)*
---
## Get Started Today
- **[Quick Start Guide](quick_start_guide)** — Learn to use QET
- **[Contributing](contributing)** — Start contributing
- **[Forum](https://forum.qelectrotech.org/)** — Join the discussion
Welcome to the QElectroTech community! 👋
+161
@@ -0,0 +1,161 @@
# Contributing to QElectroTech
Thank you for your interest in contributing to QElectroTech! This guide explains how to get involved.
## Ways to Contribute
### Report Bugs
Found a problem? Help us fix it:
1. **Search** [existing issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues) to avoid duplicates
2. **Create an issue** with:
- Clear description of the problem
- Steps to reproduce
- Expected vs. actual behavior
- Your QET version and OS
- Screenshots if helpful
### Suggest Features
Have an idea? Share it:
1. **Search** [discussions](https://github.com/qelectrotech/qelectrotech-source-mirror/discussions) to see if it's been discussed
2. **Open a discussion** explaining:
- What you want to do
- Why it would be useful
- Any alternative approaches
### Write Documentation
Help improve this wiki and other documentation:
1. See **[Contributing to the Wiki](contributor_to_wiki_guidelines)**
2. Help translate documentation
3. Create tutorials or guides for common workflows
### Create Custom Elements
Share your element libraries with the community:
1. **[Learn to create elements](elements_XML)**
2. Publish on the **[Elements Repository](https://github.com/qelectrotech/qelectrotech-elements)**
3. Join the elements maintenance team
### Contribute Code
Ready to code? Follow these steps:
---
## Getting Started with Code Contributions
### Prerequisites
- Familiarity with C++ and Qt5
- Basic Git knowledge
- Ability to **[build QET from source](building)**
- Understanding of the **[codebase structure](https://de-backer.github.io/qelectrotech-source-mirror/html/pages.html)**
### Setup Your Development Environment
1. **Fork** the repository on GitHub
2. **Clone** your fork:
```bash
git clone https://github.com/YOUR_USERNAME/qelectrotech-source-mirror.git
cd qelectrotech-source-mirror
```
3. **Create a feature branch**:
```bash
git checkout -b fix/issue-123
# or
git checkout -b feature/my-feature
```
4. **Set up your Git user** (if not done already):
```bash
git config user.name "Your Name"
git config user.email "your.email@example.com"
```
### Making Changes
1. **Write clean, well-commented code**
- Follow the project's coding style
- One logical change per commit
- Write meaningful commit messages
2. **Test your changes**
- Build the project: `cmake --build .`
- Run existing tests: `ctest`
- Add tests for new functionality
3. **Keep your branch updated**
```bash
git fetch upstream
git rebase upstream/main
```
### Submitting Your Contribution
1. **Push** your changes to your fork
2. **Create a Pull Request** on GitHub with:
- Clear title describing the change
- Detailed description of what you changed and why
- Reference to any related issues (`Fixes #123`)
- Screenshots for UI changes
3. **Respond to feedback** from reviewers
4. **Keep the PR updated** if the main branch changes
---
## Code Guidelines
### Coding Standards
*C++ coding style and conventions used in QET*
### Commit Messages
*Guidelines for clear, descriptive commit messages*
### Comments & Documentation
*When and how to add comments; docstring conventions*
### Testing
*How to write tests for your changes*
---
## Review Process
1. **Automatic checks** run (tests, linting)
2. **Maintainers review** your code for:
- Correctness
- Code quality
- Compatibility
- Performance
3. **Address feedback** by pushing new commits
4. **Merge** once approved ✅
---
## Code of Conduct
We're committed to providing a welcoming community. Please:
- Be respectful and constructive
- Welcome different viewpoints
- Report inappropriate behavior to maintainers
- Focus on the code, not the person
---
## Questions?
- **[Forum](https://forum.qelectrotech.org/)** — Ask the community
- **[Discussions](https://github.com/qelectrotech/qelectrotech-source-mirror/discussions)** — Open-ended questions
- **Maintainers** — Direct questions about contributions
Thank you for helping make QElectroTech better! 🎉
+140
@@ -0,0 +1,140 @@
# Development Roadmap
Current development efforts and planned features for QElectroTech.
## Current Focus
### Active Development Areas
*What the team is actively working on right now*
---
## Planned Features
### Near-term (Next Release)
*Features planned for the upcoming release*
### Medium-term (Future Releases)
*Features planned for future versions*
### Long-term Vision
*The overall direction and goals for QElectroTech*
---
## Recent Improvements
### Latest Release
*Major improvements and features added in the latest version*
### In Development
*Work that's in progress but not yet released*
---
## Known Issues
### High Priority
*Critical bugs being addressed*
### Medium Priority
*Important issues in the backlog*
### Community Reports
*Notable issues reported by users awaiting fixes*
---
## Roadmap by Feature Area
### User Interface
*Planned UI/UX improvements*
### Performance
*Performance optimization efforts*
### File Formats & Compatibility
*Plans for XML format improvements and compatibility*
### Elements & Symbols
*Expanding element libraries and symbol support*
### Documentation
*Plans to improve documentation and help*
### Scripting & Automation
*Planned automation and extensibility features*
### Multi-user & Collaboration
*Features to support team workflows*
---
## Contributing to the Roadmap
### Proposing Features
Have an idea? **[Share it!](https://github.com/qelectrotech/qelectrotech-source-mirror/discussions)**
### Voting on Features
Interested users can voice support for features on the forum and GitHub discussions.
### Implementing Features
Ready to code? **[See how to contribute](contributing)**.
---
## Release Schedule
*Information about release frequency and timing (if available)*
---
## Development Setup
To participate in development:
1. **[Build QET from source](building)**
2. **[Read developer documentation](https://de-backer.github.io/qelectrotech-source-mirror/html/pages.html)**
3. **[Start contributing](contributing)**
---
## Communication
- **[Forum](https://forum.qelectrotech.org/)** — Discuss roadmap and ideas
- **[GitHub Discussions](https://github.com/qelectrotech/qelectrotech-source-mirror/discussions)** — Feature requests and roadmap discussion
- **[GitHub Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Bug reports and tracking
- **[Community](community)** — Connect with developers and users
---
## Historical Context
See **[History](history)** for how QElectroTech has evolved.
---
## More Information
- **[Contributing](contributing)** — How to get involved
- **[Community](community)** — The people behind QET
- **[Building QET](building)** — Development setup
+112
@@ -0,0 +1,112 @@
# Frequently Asked Questions
Quick answers to common questions about QElectroTech.
## Installation & Setup
### Q: Where do I download QElectroTech?
A: Visit [qelectrotech.org/downloads](https://qelectrotech.org/downloads/) for official releases, or see [Building QET](building) to compile from source.
### Q: What are the system requirements?
A: *System requirements for Windows, macOS, and Linux*
### Q: How do I uninstall QElectroTech?
A: *Uninstall instructions for each operating system*
### Q: Is QElectroTech free?
A: Yes! QElectroTech is free and open-source under the GNU GPL license.
---
## Getting Started
### Q: I just installed QET. How do I create my first diagram?
A: See the **[Quick Start Guide](quick_start_guide)** for a 5-minute tutorial.
### Q: How do I add elements to my diagram?
A: Use the Elements panel on the right side. Search for what you need or browse by category, then drag elements onto your canvas.
### Q: How do I connect elements with wires?
A: Use the Wire tool from the toolbar, then click on connection terminals on each element.
### Q: How do I add labels to wires and elements?
A: Double-click on a wire or element to add text.
---
## Creating Diagrams
### Q: What file format does QElectroTech use?
A: QElectroTech projects are saved as `.qet` files (XML format), and elements as `.elmt` files.
### Q: Can I open QET files in other software?
A: `.qet` and `.elmt` are XML formats, so you can view and edit them in any text editor. See **[Project XML Structure](project_XML)** and **[Elements XML Structure](elements_XML)** for format details.
### Q: How do I export my diagram?
A: Use **File → Export** to save as PNG, SVG, PDF, and other formats.
### Q: How do I print my diagram?
A: Use **File → Print** or set up multi-page printing for large diagrams.
### Q: Can I create custom elements?
A: Yes! See **[Creating Elements](elements_XML)** for instructions.
---
## Projects & Organization
### Q: How do I create multiple diagrams in one project?
A: *Instructions for managing multiple diagrams*
### Q: How do I organize a large project?
A: See **[Tips & Tricks](tips_and_tricks)** for organization strategies.
### Q: Can I share projects with other QET users?
A: Yes, `.qet` files are portable. You can email them or use version control (Git). See **[Tips & Tricks](tips_and_tricks)** for collaboration workflows.
---
## Troubleshooting
### Q: QET won't start / crashes on startup
A: *Common startup issues and solutions*
### Q: My wires aren't connecting properly
A: *Tips for debugging wire connection problems*
### Q: QET is running slowly with my large project
A: See the **[User Manual](user_manual)** Performance section.
### Q: I accidentally deleted something. How do I undo?
A: Press Ctrl+Z (or Cmd+Z on macOS) to undo. You can undo multiple steps.
### Q: My file won't open in a newer/older version of QET
A: *Compatibility issues and migration instructions*
### Q: Where are project files stored?
A: QET files are saved wherever you choose. Look in your Documents folder or the last location you used.
---
## Advanced Topics
### Q: How do I write scripts for QElectroTech?
A: *Introduction to QET scripting (when available)*
### Q: Can I use QElectroTech in an automated/headless workflow?
A: *Information about automation and command-line usage*
### Q: How do I contribute to QElectroTech?
A: See **[Contributing](contributing)** for guidelines.
### Q: Where can I get help with advanced topics?
A: Visit the **[Forum](https://forum.qelectrotech.org/)** or check the **[Community](community)** resources.
---
## Didn't Find Your Answer?
- **[User Manual](user_manual)** — Detailed feature documentation
- **[Tips & Tricks](tips_and_tricks)** — Advanced workflows
- **[Forum](https://forum.qelectrotech.org/)** — Ask the community
- **[Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Report bugs or request features
+173
@@ -0,0 +1,173 @@
# QElectroTech Features
A comprehensive overview of what QElectroTech can do.
## Core Features
### Diagram Creation & Editing
- **Free-form drawing** — Create electrical schematics with precision
- **Element library** — Thousands of pre-made electrical symbols
- **Custom elements** — Design your own symbols for specific needs
- **Wire routing** — Connect elements with automatic or manual routing
- **Text & labels** — Add descriptive text, signal names, and annotations
- **Grid & snap** — Align elements perfectly with grid snapping
### Organization
- **Multiple diagrams** — Organize large projects across multiple pages
- **Layers** — Group elements on separate layers for complex diagrams
- **Page templates** — Create standardized diagram layouts
- **Naming conventions** — Support for reference designations (R1, C1, etc.)
### Editing Tools
- **Full undo/redo** — Revert any action, step by step
- **Copy & paste** — Duplicate elements and sections
- **Cut, copy, paste, delete** — Standard editing operations
- **Multi-select** — Select and edit multiple elements at once
- **Alignment tools** — Align, distribute, and group elements
- **Zoom & pan** — Navigate easily through large diagrams
---
## File & Project Management
### File Formats
- **QET projects** (`.qet`) — Native XML format for complete projects
- **Element files** (`.elmt`) — XML format for custom elements
- **Import/Export** — Support for multiple export formats
### Export Options
- **PNG** — Raster export for sharing and documentation
- **SVG** — Vector export for editing in other tools
- **PDF** — Professional documents for printing
- **Other formats** — Extensible export system
### Printing
- **Print preview** — See how your diagram will look before printing
- **Multi-page printing** — Print large diagrams across multiple pages
- **Page setup** — Customize margins, scale, and orientation
- **Print-friendly options** — Black & white, grayscale, quality settings
---
## Advanced Features
### Libraries & Repositories
- **Element collections** — Organize elements into categories
- **Element repository** — Access community-created elements
- **Custom libraries** — Create and manage your own symbol libraries
### Electrical Properties
- **Terminal connections** — Define connection points on elements
- **Electrical properties** — Track voltage, current, and signal information
- **Wire properties** — Color, style, thickness, and electrical properties
### Automation & Scripting
- **Scripting API** — Automate tasks with Python scripts
- **Batch operations** — Process multiple files or elements
- **Custom workflows** — Extend QET with custom functionality
### Collaboration
- **Version control** — Work with Git and other VCS
- **File sharing** — Portable `.qet` files for team collaboration
- **Import/merge** — Combine work from multiple contributors
---
## Standards & Compliance
### Electrical Standards
- **IEC 81346** — Support for international labeling standards
- **DIN/European standards** — Compliance with European conventions
- **Custom standards** — Extensible system for organization-specific standards
### File Compatibility
- **Cross-platform** — Windows, macOS, Linux
- **Format stability** — `.qet` and `.elmt` files remain compatible
- **XML-based** — Human-readable and tool-friendly formats
---
## Interface & Usability
### User Interface
- **Customizable toolbars** — Arrange tools to fit your workflow
- **Dockable panels** — Elements, properties, navigator panels
- **Keyboard shortcuts** — Fast access to common commands
- **Right-click menus** — Context-sensitive commands
### Internationalization
- **Multiple languages** — Translated interface for many languages
- **Localization** — Regional preferences and standards
- **French origin** — Maintained by French electrical engineers
### Accessibility
- **Zoom support** — Enlarge interface and diagrams
- **Dark mode** — Eye-friendly theme option
- **Keyboard navigation** — Full keyboard control of interface
---
## Performance & Reliability
### Large Projects
- **Efficient rendering** — Handle diagrams with hundreds of elements
- **Responsive interface** — Smooth interaction even with complex projects
- **Quick saves** — Fast file I/O for large projects
### Stability
- **Robust error handling** — Graceful handling of edge cases
- **Crash recovery** — Automatic backups and recovery
- **Regular updates** — Bug fixes and improvements
---
## Developer Features
### Open Source
- **Free software** — GPL license, free to use and modify
- **Source code access** — Study and modify the code
- **Community contribution** — Join development efforts
### API & Extensibility
- **Plugin system** — Extend with custom functionality
- **XML formats** — Easy to read and write programmatically
- **Scripting support** — Automate with Python
### Documentation
- **Source documentation** — Well-commented codebase
- **API docs** — Doxygen-generated API reference
- **Architecture guides** — Understanding the codebase
---
## Coming Soon
See **[Development Roadmap](development_roadmap)** for planned features and improvements.
---
## Learn More
- **[Quick Start Guide](quick_start_guide)** — Get started today
- **[User Manual](user_manual)** — Detailed feature documentation
- **[Tips & Tricks](tips_and_tricks)** — Advanced workflows
+101
@@ -0,0 +1,101 @@
# History of QElectroTech
The story of QElectroTech's development and evolution.
## Origins
*Early development and why QElectroTech was created*
### The Beginning
*Initial release, first features, and early goals*
---
## Major Milestones
### Version 0.x
*Early versions and foundational features*
### Version 1.0
*Major 1.0 release and key improvements*
### Version 2.0
*Significant architectural changes and new capabilities*
### Recent Development
*Recent features, improvements, and current direction*
---
## Key Features Over Time
### UI & UX Evolution
*How the interface has improved and evolved*
### Core Functionality Additions
*Major features added over the years*
### Performance Improvements
*Optimization and speed enhancements*
### Platform Support
*Support for Windows, macOS, Linux, and other platforms*
---
## Community Growth
### Early Community
*Building the initial user and developer community*
### Current Community
*Today's active contributors and users*
### Translations
*Internationalization and language support*
---
## Technical Evolution
### Libraries & Dependencies
*Qt, Python, and other key dependencies over time*
### Architecture Changes
*Major refactoring and architectural improvements*
### Open Source Journey
*The path to open source and collaborative development*
---
## Notable Contributions
*Recognition of major contributors and their work*
---
## Future Direction
See **[Development Roadmap](development_roadmap)** for current and planned work.
---
## Want to Help?
QElectroTech is built by volunteers. **[Learn how you can contribute](contributing)** to the project!
+108
@@ -0,0 +1,108 @@
# License Information
QElectroTech's licensing and what it means for you.
## GNU General Public License (GPL)
QElectroTech is licensed under the **GNU General Public License v3.0 (GPLv3)**.
### What This Means
- ✅ **Free to use** — You can use QElectroTech for any purpose, personal or commercial
- ✅ **Free to modify** — You can modify the source code for your needs
- ✅ **Free to distribute** — You can share copies with others
- ✅ **Access to source** — The complete source code is available
- ⚠️ **Share-alike** — If you modify and distribute QET, you must share your changes under the same GPL license
### Your Responsibilities
Under GPLv3, if you distribute modified versions of QElectroTech, you must:
1. **Include the license** — Provide a copy of the GPL license
2. **Document changes** — Clearly mark modifications you've made
3. **Share source code** — Provide the source code to users
4. **Use the same license** — Modified versions must also be GPLv3
---
## What You Can Do
### Personal Use
You can use QElectroTech for personal projects without restrictions.
### Educational Use
Teachers and students can use QElectroTech freely in educational settings.
### Commercial Use
You can use QElectroTech in commercial projects. Your diagrams and projects are yours.
**Important:** If you modify QET itself and sell software based on the modifications, you must provide source code and license those modifications under GPL.
### Publishing Projects
Your diagrams and projects are yours to use, sell, and distribute. The GPL license only applies to the QET software itself, not your work created with it.
### Creating Elements
You can create custom element libraries and share them. Choose your own license for your elements.
---
## Open Source Compliance
### Using QET in Your Project
If your software uses QElectroTech:
- **Unmodified QET** — No license restrictions; use freely
- **Modified QET** — You must share the modified source under GPL
- **Linking statically** — May trigger GPL "copyleft" requirements; consult legal counsel
### Distribution
If you distribute QET (modified or unmodified):
- Include a copy of the GPL license
- Provide or link to source code
- Document any modifications
---
## Contributors & Attribution
### How to Attribute QElectroTech
If you use QET in your work, we appreciate attribution:
> This project uses [QElectroTech](https://qelectrotech.org), licensed under the GNU GPL v3.0.
### Contributing Your Changes
By contributing code to QElectroTech, you agree that your contributions will be licensed under the GPL v3.0 license.
---
## Full License Text
For the complete license text, see:
- **GitHub:** [LICENSE file](https://github.com/qelectrotech/qelectrotech-source-mirror/blob/main/LICENSE)
- **GNU.org:** [GPLv3 Text](https://www.gnu.org/licenses/gpl-3.0.html)
---
## Questions About Licensing?
- **[Forum](https://forum.qelectrotech.org/)** — Ask the community
- **[GitHub Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Licensing questions
- **Maintainers** — Contact project maintainers
---
## Related Information
- **[Contributing](contributing)** — How to contribute code
- **[Community](community)** — Who's behind QElectroTech
+72
@@ -0,0 +1,72 @@
# Quick Start Guide
Get QElectroTech running and create your first diagram in 5 minutes.
## Step 1: Download & Install
### Windows
1. Visit [qelectrotech.org/downloads](https://qelectrotech.org/downloads/)
2. Download the Windows installer
3. Run the installer and follow the prompts
4. Launch QElectroTech from your Start menu
### macOS
1. Visit [qelectrotech.org/downloads](https://qelectrotech.org/downloads/)
2. Download the macOS package
3. Drag QElectroTech to Applications
4. Launch from Applications folder
### Linux
```bash
# Ubuntu/Debian
sudo apt install qelectrotech
# Fedora
sudo dnf install qelectrotech
# Or compile from source - see [Building QET](building)
```
## Step 2: Create Your First Project
1. Open QElectroTech
2. Click **File → New Project**
3. Choose your diagram size (A4, A3, etc.)
4. Click **OK**
## Step 3: Draw Your First Diagram
### Add Elements
1. Find the **Elements panel** on the right
2. Search for "switch" or browse categories
3. Drag an element onto your diagram
4. Repeat to add more elements
### Connect with Wires
1. Click the **Wire tool** in the toolbar
2. Click on a terminal (connection point) on your first element
3. Click on a terminal on your second element
4. The wire is drawn automatically
### Add Labels & Text
1. Double-click on a wire or element to add a label
2. Type your text and press Enter
## Step 4: Save Your Work
1. Click **File → Save**
2. Choose a location and enter a filename
3. QElectroTech saves as `.qet` format
## Next Steps
- Explore the **[User Manual](user_manual)** for detailed features
- Check out **[Tips & Tricks](tips_and_tricks)** for advanced workflows
- Learn to **[Create Custom Elements](elements_XML)**
- Join the **[Community](community)** for help
## Getting Help
- **[FAQ](faq)** — Common questions
- **[Forum](https://forum.qelectrotech.org/)** — Ask the community
- **[Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Report problems
+128
@@ -0,0 +1,128 @@
# Tips & Tricks
Advanced workflows and best practices for QElectroTech users.
## Drawing Efficiently
### Wire Drawing Tips
*Shortcuts for faster wire drawing, auto-routing, and connection strategies*
### Element Placement
*Keyboard shortcuts for rotation, precise positioning, and alignment tricks*
### Selection Tricks
*Multi-select patterns, selecting by type, and selection filters*
### Copy & Paste Workflows
*Duplicating complex sections, pasting across diagrams, and reference libraries*
## Organization & Navigation
### Organizing Large Projects
*Using multiple diagrams effectively, naming conventions, and structure*
### Navigation Shortcuts
*Zoom shortcuts, fit-to-page, and quick navigation between diagrams*
### Layer Management
*Using layers to organize complex diagrams*
## Creating Professional Diagrams
### Best Practices for Schematics
*Standard conventions for electrical diagrams*
### Naming Conventions
*Reference designations (R1, C1, etc.) and signal naming*
### Labeling Standards
*IEC standards, wire labels, and documentation practices*
### Page Layout
*Multi-page projects, cross-references, and diagram indexing*
## Working with Elements
### Creating Custom Elements
*Designing elements for your specific needs*
### Building Element Libraries
*Organizing and sharing custom element collections*
### Editing Existing Elements
*Modifying elements and maintaining consistency*
## Performance & Optimization
### Large Diagram Handling
*Working efficiently with complex projects*
### File Size Optimization
*Reducing project file size and improving performance*
### Backup & Recovery
*Protecting your work and recovering from mistakes*
## Collaboration
### Sharing Projects
*Exporting, version control, and team workflows*
### Merging Changes
*Combining work from multiple contributors*
### Version Control Integration
*Using Git with QElectroTech projects*
## Advanced Techniques
### Scripting & Automation
*Writing scripts to automate repetitive tasks*
### Batch Operations
*Bulk editing and batch exports*
### Custom Formatting
*Advanced text formatting and styling options*
## Troubleshooting & Tips
### Common Gotchas
*Avoiding common mistakes and understanding QET's behavior*
### Performance Tips
*Speeding up your workflow*
### Keyboard Shortcuts You Should Know
*Essential shortcuts for power users*
## See Also
- **[User Manual](user_manual)** — Complete feature reference
- **[FAQ](faq)** — Quick answers
+237
@@ -0,0 +1,237 @@
# User Manual
Comprehensive guide to using QElectroTech for creating electrical diagrams and schematics.
## Table of Contents
1. [Interface Overview](#interface-overview)
2. [Projects & Diagrams](#projects--diagrams)
3. [Working with Elements](#working-with-elements)
4. [Drawing Wires](#drawing-wires)
5. [Text & Labels](#text--labels)
6. [Editing & Formatting](#editing--formatting)
7. [Exporting & Printing](#exporting--printing)
8. [Advanced Features](#advanced-features)
---
## Interface Overview
*The QElectroTech workspace: menu bar, toolbars, panels, and diagram canvas*
### Main Components
- **Menu Bar** — File, Edit, View, Insert, Tools, Windows, Help
- **Toolbar** — Quick access to common tools (select, wire, text, etc.)
- **Elements Panel** (right) — Browse and search available elements
- **Properties Panel** — Adjust properties of selected objects
- **Diagram Canvas** — Your working area for drawing
- **Status Bar** — Information about current selection and zoom
### Customizing the Interface
*How to show/hide panels, customize toolbars, and arrange your workspace*
---
## Projects & Diagrams
### Creating a New Project
*Steps to create a new project with custom settings*
### Managing Multiple Diagrams
*Adding, organizing, and navigating between diagrams in one project*
### Project Settings
*Page size, scale, printing options, and project properties*
### Opening & Saving
*File formats (.qet), autosave, backups, and version control*
---
## Working with Elements
### Finding Elements
*Browsing by category, searching, and creating favorite elements*
### Placing Elements
*Drag and drop, rotation, alignment, and positioning*
### Selecting & Deselecting
*Single select, multi-select, selection tools, and filters*
### Moving & Duplicating
*Move, copy, paste, cut, and keyboard shortcuts*
### Rotating & Flipping
*Rotate elements 90°, flip horizontally/vertically*
### Resizing & Grouping
*Resize, group elements, lock position and properties*
### Deleting Elements
*Remove single or multiple elements from your diagram*
---
## Drawing Wires
### Wire Tool Basics
*Selecting the wire tool and drawing connections*
### Wire Modes
*Orthogonal vs. free-form wires, and wire styles*
### Connecting to Terminals
*Finding connection points and ensuring valid connections*
### Editing Wires
*Moving, deleting, splitting, and joining wires*
### Wire Properties
*Color, thickness, style, and electrical properties*
---
## Text & Labels
### Adding Text
*Text tool, entering text, and formatting options*
### Wire Labels
*Labeling wires with signal names, voltages, and notes*
### Element Labels
*Adding reference designations and descriptions to elements*
### Dynamic Fields
*Using variables like %id, %label, and %author*
### Text Formatting
*Font selection, size, color, and alignment*
---
## Editing & Formatting
### Undo & Redo
*Reverting and re-applying changes*
### Selection Tools
*Select all, select by type, and deselect*
### Alignment Tools
*Align left, right, center, top, bottom, and distribute spacing*
### Snap to Grid
*Enable/disable, adjust grid size, and alignment options*
### Zoom & Pan
*Zoom in/out, fit to page, pan, and navigation shortcuts*
---
## Exporting & Printing
### Printing Diagrams
*Print preview, page setup, scaling, and multi-page printing*
### Exporting Formats
*PNG, SVG, PDF, and other export options*
### Batch Export
*Export multiple diagrams at once*
### Print-Friendly Settings
*Color vs. black & white, margins, and quality settings*
---
## Advanced Features
### Custom Elements
*Creating your own elements and element libraries*
### Templates
*Using project templates and diagram templates*
### Scripting & Automation
*Writing scripts to automate common tasks*
### Database Integration
*Importing component data and managing libraries*
### Multi-User Projects
*Collaboration features and version control integration*
---
## Troubleshooting
*Common issues and solutions*
### Performance
*Optimizing large diagrams and reducing file size*
### Compatibility
*Opening files from different QET versions*
### Importing
*Importing from other diagram tools*
---
## Keyboard Shortcuts
*Complete list of keyboard shortcuts for common tasks*
---
## Tips & Best Practices
See **[Tips & Tricks](tips_and_tricks)** for advanced workflows and best practices.
## Need Help?
- **[FAQ](faq)** — Quick answers to common questions
- **[Forum](https://forum.qelectrotech.org/)** — Ask the community
- **[Issues](https://github.com/qelectrotech/qelectrotech-source-mirror/issues)** — Report bugs