Commit Graph

448 Commits

Author SHA1 Message Date
Adrian Jeakins
d00288198f Bring back check that GL contexts get the format requested. 2019-05-01 21:32:48 +01:00
David Shah
ede81dc095 generic: Disable GUI as it isn't supported yet
Signed-off-by: David Shah <dave@ds0.me>
2019-04-17 11:03:06 +01:00
David Shah
6fffe24177 generic: GUI Python bindings
Signed-off-by: David Shah <dave@ds0.me>
2019-04-03 16:08:33 +01:00
David Shah
23f2fff1c8 clangformat
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:39:05 +00:00
Miodrag Milanović
cadbf42054
Merge pull request #249 from koriakin/gui-tab-fix
gui: Fix Cells/Nets tab contents.
2019-03-12 19:17:22 +01:00
Marcin Kościelnicki
a0ad5bc306 gui: Fix Cells/Nets tab contents.
Signed-off-by: Marcin Kościelnicki <marcin@symbioticeda.com>
2019-03-12 18:18:36 +01:00
David Shah
97993e76ea gui/fpgaviewwidget: Make background opaque
Signed-off-by: David Shah <dave@ds0.me>
2019-03-12 14:03:28 +00:00
Sylvain Munaut
9539f57c74 gui: Allow shift+drag to move around the view
right & middle clight are really inconvenient when working with a touchpad
in tap-to-click mode

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2019-02-22 12:31:23 +01:00
Miodrag Milanovic
bfc96cc962 Better resize, FPGAViewWidget minimal is now 320x200, fixes #222 2019-02-07 17:42:14 +01:00
Miodrag Milanovic
c6604a4582 Fix reading conflicting wire in GUI for pips, fixes #225 2019-02-07 17:25:14 +01:00
Adrian Jeakins
7f950a1852 Reduce GL shader version for wider compatibility. 2018-12-20 22:28:53 +00:00
Adrian Jeakins
3cdd83a3be Remove format versioning now this is set at the top level application. 2018-12-20 22:21:10 +00:00
Miodrag Milanovic
e0b4a2eeab Add GUI for executing python file 2018-12-14 17:20:25 +01:00
Miodrag Milanovic
fdb632f24c Fix crash exiting nextpnr gui 2018-12-06 08:31:40 +01:00
Adrian Jeakins
38f80b1048 Fix device view not showing anything on macOS.
* Fix line shader when running under the core profile and make version match those elsewhere.
* Make surface format version match the openGL functions we are using.
2018-12-05 22:27:04 +00:00
Adrian Jeakins
92ddef9fc3 Fix crash starting the GUI on macOS where we must request a core profile.
See http://doc.qt.io/qt-5/qabstractopenglfunctions.html
2018-12-04 23:05:06 +00:00
David Shah
b550791d92 Refactor log code and add log file support
Signed-off-by: David Shah <dave@ds0.me>
2018-11-21 17:08:45 +00:00
David Shah
9c52afcf5f clangformat
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:25:51 +00:00
Eddie Hung
3b2b15dc4a
Merge pull request #107 from YosysHQ/router_improve
Major rewrite of "router1"
2018-11-13 11:39:51 -08:00
Miodrag Milanovic
7bd542ecbe Make zoom in/out always display content 2018-11-12 10:06:04 +01:00
Clifford Wolf
6002a0a80a clangformat
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 19:48:15 +01:00
Clifford Wolf
f93129634b Add getConflictingWireWire() arch API, streamline getConflictingXY semantic
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 17:28:41 +01:00
Miodrag Milanovic
2d35d99ed2 Show wires in tree for ECP5 as well 2018-11-11 13:52:19 +01:00
Miodrag Milanovic
5d11af5a25 multiple selection fix 2018-11-11 13:26:33 +01:00
Clifford Wolf
d2bdb670c0 Add getConflictingPipWire() arch API, router1 improvements
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-11 11:34:38 +01:00
Miodrag Milanovic
a445ae37ee Pip visible for all archs 2018-11-11 11:08:34 +01:00
Miodrag Milanovic
b8870bb99c Propagate proper ctx, fixes fetchMore 2018-11-11 10:53:48 +01:00
Miodrag Milanovic
3cfdb4e0c1 Sorted out zoomout, works for all now 2018-11-11 09:04:20 +01:00
Miodrag Milanović
6b197fde72
Merge pull request #93 from YosysHQ/gui_changes
Gui changes
2018-11-10 23:00:34 -08:00
Miodrag Milanovic
636a03d71e Fix method override in gui 2018-11-05 08:56:01 +01:00
Miodrag Milanovic
27fcaf50d2 Fix lpf button action 2018-11-03 10:03:27 +01:00
Miodrag Milanovic
aed04ae6f2 Added image generator and regenerate icons 2018-11-03 10:02:53 +01:00
Miodrag Milanovic
a0e79c993f Added LPF support and all chip models available for select 2018-11-03 09:39:43 +01:00
Miodrag Milanovic
0a3ebfbb5b change to const auto& 2018-10-30 08:07:31 +01:00
Miodrag Milanovic
02edd66ae9 Changes to cover issues from code review 2018-10-29 19:39:52 +01:00
Miodrag Milanovic
3758029227 fix unselect from tree 2018-10-28 14:50:48 +01:00
Miodrag Milanovic
436c2a0444 Fix keep selection on multiple trees 2018-10-27 17:04:08 +02:00
Miodrag Milanovic
f66c5a0094 update properties based on move history 2018-10-27 16:00:47 +02:00
Miodrag Milanovic
cb6baa0f6a Update grid properly 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
d08fe2109d clangformat 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
f43ee265e8 Cleanup 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
ba0ab7cb30 simplify and move arround 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
5d5324c073 Split tree models and make other features work with it 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
7386004c60 make grid cover device only, do not zoom in if there are no elements 2018-10-27 12:02:01 +02:00
Miodrag Milanovic
d7614d3d2b fix edge case 2018-10-27 10:21:29 +02:00
Miodrag Milanovic
455e90b123 No gain in optimizing this, but lead to wrong display 2018-10-26 17:53:07 +02:00
Miodrag Milanović
757dcd2a52
Merge pull request #96 from YosysHQ/imgui
Imgui integration
2018-10-26 17:27:47 +02:00
Miodrag Milanovic
40a8e17db6 update last_render in case of change of any element, not just number of them
optimize for hover/select/highlight where number matters
2018-10-26 09:59:42 +02:00
Miodrag Milanovic
f2ec5b0ff3 do not invalidate buffer, leave as is 2018-10-25 20:33:49 +02:00
Miodrag Milanovic
f01a02be9a proper update of empty decal 2018-10-25 20:33:14 +02:00
Miodrag Milanovic
62a615a17d Fix tooltip position when doing screenshot 2018-10-24 20:50:38 +02:00
Miodrag Milanovic
85c56f4246 Added cell and net info in hint 2018-10-24 19:12:56 +02:00
Miodrag Milanovic
c2dfe6ef8e Fix propagating events 2018-10-24 19:03:25 +02:00
Miodrag Milanovic
36920e68ed Display hint on mouse over 2018-10-24 19:03:25 +02:00
Miodrag Milanovic
e2e9db52a2 dummy imgui processing 2018-10-24 19:03:25 +02:00
Miodrag Milanovic
f796716b83 Make imgui and qtgui compile on older qt as well, opengl 3.2 required 2018-10-24 19:00:58 +02:00
Mateusz Zalega
d03291eeb1 gui: improved FPGAViewWidget::paintGL() performance
Profiling revealed that memcpy() in QOpenGLBuffer::allocate() had been taking
the most time during paintGL() calls. I've been able to take the CPU usage
down to about 1/4 of its previous values by caching elements in VBOs and
updating them only after subsequent calls to renderGraphicElement().

Signed-off-by: Mateusz Zalega <mateusz@appliedsourcery.com>
2018-10-23 15:43:51 +02:00
Miodrag Milanovic
529a595157 Recalculate max zoom level depending of arch 2018-10-14 12:40:19 +02:00
David Shah
ea03aafc26 clangformat
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 15:13:18 +01:00
David Shah
09ddcb67d3 gui: Fix another zero-decal issue
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-25 13:55:54 +01:00
David Shah
1d782870dc Apply GUI fix from @mmicko
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-25 13:31:54 +01:00
Miodrag Milanovic
28e30b2af0 Added hover on properties as well, fixes #64 2018-08-22 18:37:24 +02:00
Miodrag Milanovic
ad84df7974 Hover on items in tree 2018-08-22 17:38:42 +02:00
Miodrag Milanovic
4cc49ef6e3 Fix hover when cursor leaves view, fixes #63 2018-08-22 11:54:08 +02:00
Serge Bazanski
f3fac0b0ef gui: fix #57 2018-08-19 23:39:27 +01:00
Miodrag Milanovic
a6d702d85d fix zoom on elements, fixes #61 2018-08-19 20:54:41 +02:00
Clifford Wolf
26be6f9761
Merge pull request #47 from YosysHQ/settings_propagate
Use settings for placer1 and router1
2018-08-18 19:25:19 +02:00
Clifford Wolf
74eebc489f Add arch attributes display to GUI
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-18 14:13:45 +02:00
Miodrag Milanovic
e5006d4f2f Save settings and give nicer names to some 2018-08-10 19:11:30 +02:00
Miodrag Milanovic
5dd7a74b87 Make loading works nice and use settings 2018-08-08 21:15:54 +02:00
Miodrag Milanovic
61bce47f3c Use settings for json and pcf 2018-08-08 20:14:18 +02:00
Clifford Wolf
f6189e4677 Merge branch 'master' of github.com:YosysHQ/nextpnr into constids 2018-08-08 19:35:13 +02:00
Miodrag Milanovic
fc0131ceb0 cleanup 2018-08-08 18:41:30 +02:00
Miodrag Milanovic
fc5cee6fb8 clangformat 2018-08-08 18:17:34 +02:00
Miodrag Milanovic
ecc21caa77 move load/save proj to base 2018-08-08 18:14:22 +02:00
Clifford Wolf
e03ae50e21 Get rid of PortPin and BelType (ice40, generic, docs)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 17:01:18 +02:00
Miodrag Milanovic
5df90bc5a5 Merge remote-tracking branch 'origin/master' into common_main
# Conflicts:
#	ecp5/main.cc
#	ice40/main.cc
2018-08-08 10:48:05 +02:00
Miodrag Milanovic
b0741e292c Use ProjectHandler from gui as well 2018-08-06 19:47:01 +02:00
Miodrag Milanovic
9510c444c9 Disable menu options on json load 2018-08-05 18:02:33 +02:00
Clifford Wolf
5e53075990 API change: Use CellInfo* and NetInfo* as cell/net handles (common, ice40)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-05 15:25:42 +02:00
Miodrag Milanovic
0cb349b60e Utility calls static 2018-08-04 11:54:34 +02:00
Miodrag Milanovic
dc4bd1b55f Move ArchArgs to BaseWindow 2018-08-04 11:52:07 +02:00
Miodrag Milanovic
a31c00ed96 Chip selection ui for ECP5 2018-08-04 11:48:29 +02:00
Miodrag Milanovic
beb5f9d4df not needed anymore 2018-08-04 11:37:41 +02:00
Miodrag Milanovic
17f461ed4f add write bitstream 2018-08-04 11:21:38 +02:00
Miodrag Milanovic
e68ca65e9e Unify interfaces for gui 2018-08-03 18:23:40 +02:00
Miodrag Milanovic
8abf38f37f Moved to new signal slot syntax 2018-08-03 10:53:38 +02:00
Miodrag Milanovic
23a7d96f4c clangformat 2018-08-02 19:25:20 +02:00
Miodrag Milanovic
e40b61e87e Add names to toolbars 2018-08-02 19:24:05 +02:00
Miodrag Milanovic
44147dc704 Document and cleanup 2018-08-02 19:21:25 +02:00
Miodrag Milanovic
4fa0c81ed7 Move common logic to basewindow 2018-08-02 18:50:08 +02:00
Miodrag Milanovic
a761b772c8 Make worker generic 2018-08-02 18:10:01 +02:00
Miodrag Milanovic
7f7cb6601e Move generic resources to top level 2018-08-02 17:48:02 +02:00
Miodrag Milanović
114c230624
Merge pull request #13 from YosysHQ/fix-windows-ctrl-c
Handle CTRL-C for windows build
2018-08-02 08:27:04 -07:00
Miodrag Milanovic
6c99f7525e Fix for macOS segfault 2018-08-02 17:05:55 +02:00
Clifford Wolf
fb06fd4653 Rename GUI "Graphics" tab to "Device"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-02 14:59:48 +02:00
Miodrag Milanovic
ebdfd6ba5e Fix destructor for tree Item, fixes clang build as well 2018-08-02 13:20:05 +02:00
Miodrag Milanovic
85e9aa3426 Handle CTRL-C for windows build 2018-08-02 09:54:16 +02:00
Miodrag Milanovic
86a36ceeef Properly delete element from unordered_map 2018-08-02 08:32:16 +02:00
Sergiusz Bazanski
101de5b715 gui: treemodel: unregister from parent when we get destroyed
This fixes mysterious crashes when a new context was being loaded. The
'Bels', 'Wires', and 'Nets' roots would get replaced by new ones in
TreeModel::Model::loadContext, but they would not get unregistered from
their parent.
2018-08-01 17:40:27 +01:00
Sergiusz Bazanski
1996f8c2d7 gui: fix race condition when selecting elements during plavement 2018-08-01 11:44:42 +01:00
David Shah
b1a9978922 Merge branch 'redist_slack' into 'master'
Update budgets throughout placement and routing

See merge request SymbioticEDA/nextpnr!16
2018-08-01 05:59:34 +00:00
Sergiusz Bazanski
474aa3470a gui: fix crash on ecp5 gui, fix quadtree tests to not get broken by clangformat 2018-08-01 04:42:41 +01:00
Sergiusz Bazanski
85fc356fc1 clangformat 2018-08-01 03:59:27 +01:00
Sergiusz Bazanski
3408e427f9 gui: cosmetics 2018-08-01 03:55:47 +01:00
Sergiusz Bazanski
1f787c37a3 gui: fix zoom outbound not happening with fast startup time 2018-08-01 03:55:28 +01:00
Sergiusz Bazanski
e423cceba8 gui: treemodel: bail early on empty children updates in IdStringList 2018-08-01 03:31:06 +01:00
Sergiusz Bazanski
f9d30bcdea gui: lock arch when accessing/building treemodel 2018-08-01 03:26:27 +01:00
Sergiusz Bazanski
9fb9eab6c9 gui: cosmetics 2018-08-01 03:17:02 +01:00
Sergiusz Bazanski
d80bacfe67 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/treemodel-fast 2018-08-01 03:11:41 +01:00
Sergiusz Bazanski
900649ce7a gui: restore search 2018-08-01 03:11:22 +01:00
Sergiusz Bazanski
a117fcdefd gui: treemodel: cleanups 2018-08-01 02:59:07 +01:00
Eddie Hung
5d58d6ad1b Merge branch 'redist_slack' of gitlab.com:SymbioticEDA/nextpnr into redist_slack 2018-07-31 18:26:39 -07:00
Sergiusz Bazanski
8e5c6557d6 gui: treemodel: simplify class hierarchy 2018-08-01 02:24:57 +01:00
Sergiusz Bazanski
6baf8216ed gui: move tree model into own namespace 2018-08-01 02:19:30 +01:00
Sergiusz Bazanski
049e487f3f gui: fix warnings 2018-08-01 02:14:20 +01:00
Sergiusz Bazanski
c728cdcae0 gui: restore menu for new tree model 2018-08-01 02:11:23 +01:00
Sergiusz Bazanski
1038b7ef23 gui: restore property navigation in tree 2018-08-01 02:08:56 +01:00
Sergiusz Bazanski
bf43c27567 gui: restore lookup into tree after new model 2018-08-01 01:59:58 +01:00
Sergiusz Bazanski
e9e7004bf9 gui: clickable tree, better sorting 2018-08-01 01:27:20 +01:00
Sergiusz Bazanski
c8cf0bbc05 gui: make new tree model clickable 2018-08-01 00:46:22 +01:00
Sergiusz Bazanski
6241052e11 Merge branch 'master' into q3k/treemodel-fast 2018-08-01 00:22:09 +01:00
Miodrag Milanovic
b55ccc12f0 add graphics toolbar to all targets 2018-07-31 17:40:19 +02:00
Sergiusz Bazanski
cc0ffee3fe gui: lazy loading of tree model 2018-07-31 15:49:47 +01:00
David Shah
e3a403fa29 ecp5: Disable Pip list in GUI for now
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-31 14:36:17 +02:00
Eddie Hung
b7694b655c Revert "always assign budget before placing"
This reverts commit 2bf39cbdc5.
2018-07-30 19:50:36 -07:00
Miodrag Milanovic
7da64ee167 Implement simple search 2018-07-30 20:10:36 +02:00
Sergiusz Bazanski
412c920e94 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into treemodel 2018-07-30 09:46:07 +01:00
Sergiusz Bazanski
3b9bde533a gui: sort tree elements somewhat smarter 2018-07-30 09:46:01 +01:00
Miodrag Milanovic
91227b7753 double click on tree, zoom on selected object 2018-07-29 15:21:34 +02:00
Miodrag Milanovic
7c8865d2fc Added sorting 2018-07-29 10:56:36 +02:00
Miodrag Milanovic
ba2531edc0 add proper info on model changes 2018-07-28 18:48:32 +02:00
Miodrag Milanovic
9a30b6330b fix select multiple, and reinit model 2018-07-28 17:13:13 +02:00
Miodrag Milanovic
0d3d149c4f Clean highlight selection if removed from tree 2018-07-28 16:56:16 +02:00
Miodrag Milanovic
7b09a7402e Move all to tree model 2018-07-28 15:44:00 +02:00
Sergiusz Bazanski
c210ce7768 gui: unselect on click and zoom fixes 2018-07-27 15:46:00 +01:00
Sergiusz Bazanski
816d33fa94 gui: deunionize PickedElement to support arches with typedefd Ids 2018-07-27 15:11:41 +01:00
Sergiusz Bazanski
dc46eea24d gui: allow building for ECP5 and on Windows 2018-07-27 13:47:21 +01:00
Sergiusz Bazanski
96608c8d07 gui: allow selecting pips 2018-07-27 02:28:01 +01:00
Sergiusz Bazanski
e1dfbc0241 gui: do not allow selecting FRAMEs 2018-07-27 02:24:00 +01:00
Sergiusz Bazanski
3967899a2a gui: don't keep stale hover selections 2018-07-27 02:17:04 +01:00
Sergiusz Bazanski
1fe1b99a5a gui: ctrl click to select multiple elements 2018-07-27 02:14:40 +01:00
Sergiusz Bazanski
83371248fc gui: rejigger maximum zoom out 2018-07-27 02:06:33 +01:00
Sergiusz Bazanski
6db0731ea5 gui: implement zoom to selection 2018-07-27 02:04:24 +01:00
Sergiusz Bazanski
5a7fe84a04 gui: clang-format 2018-07-27 01:22:29 +01:00
Sergiusz Bazanski
0eb40da749 gui: implement zoom to outbounds 2018-07-27 01:21:50 +01:00
Sergiusz Bazanski
d2c3807598 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/clickity 2018-07-26 22:41:17 +01:00
Sergiusz Bazanski
402be30268 gui: after review of quadtree by msgctl, tougher tests 2018-07-26 22:41:10 +01:00
Sergiusz Bazanski
df908374dc gui: implement basic cursor picking 2018-07-26 22:40:45 +01:00
Sergiusz Bazanski
567566585c wip 2018-07-26 18:43:00 +01:00