pladams9 / hexsheets Goto Github PK
View Code? Open in Web Editor NEWA basic spreadsheet application with hexagonal cells inspired by: http://www.secretgeek.net/hexcel.
License: MIT License
A basic spreadsheet application with hexagonal cells inspired by: http://www.secretgeek.net/hexcel.
License: MIT License
Should come up quickly to cover for potentially slow load
Export options:
File types to support:
Should be able to switch between two-coordinate system and three-coordinate system and/or use them interchangeably. This would affect how coordinates are displayed, and how they are referenced in formulas.
Save should save to current file if it exists, otherwise bring up Save As dialog
This is happening because the cell text for each cell is a label
in a window
. Windows are drawn above everything on a canvas
.
Cell text should be changed to use a text
canvas item so that it works like other canvas items. A the same time, text items should only be created for cells that have text in them. This might speed things up some (both using less items and not using full label widgets).
Label widgets and windows were used originally to allow the label to easily be cut off to a specific square. A new way will need to be worked out... possibly just reducing the number of characters in each text item based on size.
Originally posted by @pladams9 in #42 (comment)
Ensure documentation is up-to-date for release.
Instead of setting row and column sizes (which doesn't translate 100% to hex grids), treat all cells individually. Cells would be stored simply as a point representing their center, and borders would be drawn between those points.
The grid would remain topologically the same, and therefore logically the same.
This should likely involve a build system to create html docs from text files or markdown
This is a standard feature in spreadsheet programs. Color coding cell references is also great.
I'm interested to see where this goes, and would love it if the readme had a little bit of getting started guidance.
(I may not have time to tinker just yet, but i would intend to send some python users toward this project if there was a little guidance as mentioned above)
good luck, and i understand if you're not ready to encourage others in just yet!
kind regards
lb
This mean packaging up view.py
, event.py
, abstracted versions of model.py
and controller.py
, as well as a new base class for windows
.
Ideally, these might be then moved to their own repository if they reach a more stable state.
Add a screenshot or two, maybe flesh out goals for the project
The primary issue should be moving most files to a lib
folder. See this post: http://unafaltadecomprension.blogspot.com/2014/07/pyinstaller-separating-executable-from.html?m=1
Creating a new file, opening a file, or quitting the program with unsaved changes should prompt to save (or cancel).
We need a logo for this bad boy! Should be added to:
Build system should:
Would need options to build on different systems
This should be, in order of preference:
↑ and ↓ should move up and down as expected.
← and → should move on one of the two diagonals, depending on which direction was moved previously.
If ↑ or ↓ were last used, then ← or → would move diagonally up or down respectively. For instance, → after ↑would move up-right.
If ← or → were last used, then the cell cursor will continue to move on the same diagonal it is currently on. For instance, hitting ← after moving up-right would move down-left, while doing the same thing after moving down-right would move up-left.
This happens when cells are their default size, but seems to get more pronounced when their shapes are changed (#42).
Add:
Allow for relative coordinates in cell references. This could look like [+1, -2]
or even mix absolute and relative like [34, -3]
.
Add a height to cells, rendering those cells projected outward (or inward) from the sheet. This is more of a "fun feature."
Application starts slowly. This might be due to PyInstaller extracting everything in -onefile
mode. Should consider possibly changing to -onedir
or simply adding a splash screen if that can be pulled up quickly enough.
For both selecting and referencing in formulas.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.