Commit Graph

641 Commits

Author SHA1 Message Date
Florian Märkl
34387c74b1 Fix Segfault with Extra Widgets 2019-04-14 14:04:38 +02:00
Jim Broadus
2fee3dabfb Fix crash in StringsWidget::on_actionX_refs_triggered. (#1450)
Qt::WA_DeleteOnClose is set for a dialog that is allocated on the stack. This
causes Qt to attempt to delete the object when the XrefsDialog calls its close
method.
2019-04-12 08:43:12 +03:00
optizone
059723b013 Navigate through graph view with arrows (#1441) 2019-04-10 21:07:53 +02:00
ncyellow
b6406e6ac6 fix compile ubuntu gcc7 (#1442) 2019-04-08 22:12:56 +02:00
Florian Märkl
65850d6aee
Replace GraphView::useCache with dirty flag (#1437) 2019-04-08 08:59:16 +02:00
Florian Märkl
cdca7bdc3f
Fix GraphEdge initialization in DisassemblerGraphView (#1436) 2019-04-07 13:34:53 +02:00
karliss
3e645980fc Implement middle mouse button panning. (#1433)
nice, thanks!
2019-04-07 13:02:35 +02:00
Florian Märkl
14c64e01f3
Basic OpenGL Graph Rendering (#1432) 2019-04-07 12:53:42 +02:00
karliss
0583b06191 Rewrite block sorting and placment so that unreachable blocks are processed. (#1428)
* Rewrite block sorting and placment so that unreachable blocks are processed.

* Use DFS instead of Kahn's algorithm for toposort as it makes it easier
to deal with loops.

* Remove unused code
2019-04-06 22:37:49 +03:00
karliss
df65f250e5 Make graph layout more failure resistant. (#1427) 2019-04-05 09:28:11 +03:00
karliss
cb51496e4f Separate graph layout code from GraphView. (#1414)
* Separate graph layout code from GraphView.

* Remove formatting and grid layout specific code from GraphLayout.

* Copy edge styles from from main graph view to overview.
2019-04-04 08:54:42 +03:00
karliss
103decedd6 Take pixel ratio into account for graph cache. (#1405)
* Take pixel ratio into account for graph cache.
2019-04-03 11:55:39 +03:00
karliss
5acb2cf0d3 Do not update sectionWidget position outside valid range. (#1399) 2019-03-27 09:27:24 +01:00
Anton Krasnokutskiy
5818998bb3 Fixed not switching Disassembly to not opened Graph view using <space> (#1370)
+ a bit refactor
2019-03-27 09:24:54 +01:00
xarkes
5bde1c3e8c Renamed asm.bbline to asm.bb.line (#1400) 2019-03-26 22:40:41 +03:00
xarkes
71ed30a604
Fixed overview basic block highlighting (#1393) 2019-03-26 12:07:17 +01:00
Florian Märkl
1710829267
Remove Jupyter Integration (#1398)
* Remove Jupyter Integration

Replaced by https://github.com/radareorg/cutter-jupyter

* Remove duplicate vars in .appveyor.yml
2019-03-25 21:43:00 +01:00
Romeu Gomes
eac91ed9c8 New private method in Dashboard to display text (#1390) 2019-03-25 10:24:18 +01:00
karliss
8d6622ac81 Improve hexdump width calculation. (#1389) 2019-03-25 00:12:14 +02:00
Anton Krasnokutskiy
e709a35723 AK/xref-dialog-fix (#1384) 2019-03-24 21:35:40 +02:00
Romeu Gomes
86b0b56f4a Add compiler information to dashboard (#1385) 2019-03-24 15:48:15 +01:00
Paul I
c7adeb4dd6
Update radare2 (#1381) 2019-03-24 12:39:54 +03:00
Florian Märkl
2ab676be71
Fix includes in DisassemblerGraphView.cpp (#1373) 2019-03-23 12:23:05 +01:00
Paul I
40452c9826
Some micro optimizations (#1346) 2019-03-23 13:54:34 +03:00
Anton Krasnokutskiy
e096f3ee4a DisassemblerGraphView zooming fix (#1354)
* Zooming of DisassemblerGraphView now works to cursor instead of top left corner.

* formatting fix.

* Fix refactor bug.
2019-03-23 10:21:06 +02:00
ncyellow
f59dce1727 Feature/dialogs optimization (#1360)
Changed create policy in dialogs to fix memory leaks.
2019-03-23 07:32:31 +01:00
Vanellope
5d96fc9694 Fix a bug regarding highlighting the words in Graph 2019-03-23 08:20:19 +02:00
Vanellope
6f1309452a revert shitty fix (#1335) 2019-03-19 20:15:14 +01:00
Vanellope
96f6e062fc Vane11ope/fix layout (#1308)
Refactoring and Fixes for the default layout.
2019-03-18 08:44:14 +02:00
Vanellope
f23ff9d8c5 Fix a bug of Overview perf (#1324) 2019-03-18 08:34:30 +02:00
xarkes
46bb07d725 Fixed the way headers are included 2019-03-15 16:19:27 +01:00
xarkes
3b87389d07
Removed stackptr because the result is meaningless (#1285) 2019-03-14 11:03:15 +01:00
Vanellope
ec62045336 Fix a font issue in the Graph widget (#1287) 2019-03-14 10:42:42 +01:00
Vanellope
0be50ac36f Overview optimization (#1262)
* Overview optimization
* Better cache algorithm
* Fix a bug of the multiple graphs
2019-03-12 09:37:10 +02:00
Florian Märkl
7a77eeee06 Fix NewFileDialog leaking MainWindow
This also fixes segfaults on quitting when using plugins
2019-03-11 10:42:22 +01:00
Itay Cohen
8b7d795a15
Add configurable graph overview node color (#1259) 2019-03-10 09:53:06 +02:00
Vanellope
7ea1f0b281 Fix couple of issues regarding Graph Overview (#1228) 2019-03-08 19:57:57 +01:00
Vanellope
0dff413e17 Fix a bug in seek caused by Graph refactoring (#1250)
* Fixed a bug in seek
2019-03-08 19:24:59 +02:00
Itay Cohen
d46ff14a21
Start using "gui.navbar.seek" color instead of "gui.navbar.err" to show seek cursor (#1244)
* fix navbar to use seek

* honor navbar.seek

* honor navbar.seek in Sections widget

* fix typo
2019-03-07 07:26:26 +02:00
xarkes
003d0d3c26
Modified documentation format (#1240) 2019-03-06 21:30:39 +01:00
Gaurav Kumar Ghildiyal
687ef2d799 Added feature to link a type to an address (#1219)
* Added feature to link a type to an address
2019-03-04 23:45:17 +02:00
Vanellope
c78957b328 Better solution for the infinite loop (#1232) 2019-03-02 09:07:05 +01:00
Vanellope
2208d3c134 Fix an infinite loop bug (#1218) 2019-02-26 11:24:49 +00:00
Vanellope
fa708143ac Overview does not disappear anymore when it is moved to the same dock as Graph (#1212)
* Overview does not disappear anymore when it is moved to same dock as Graph, Gray out Overview menu when Graph is not active
2019-02-24 07:15:40 +00:00
xarkes
ab27e09b91 Splitted Cutter.h and moved everything in core (#1201)
Sometimes it is not necessary to include the whole Cutter.h file
Hence, it's been splitted so you can include only what you require
E.g. #include "core/CutterCommon.h" to have access to the common types
2019-02-22 17:50:45 +01:00
xarkes
a93c5e225f Added a BasicBlock highlighting API 2019-02-21 22:57:26 +01:00
Florian Märkl
280e10d154 Subclass CutterDockWidget in Python Plugin
Refactor CutterPlugin::setupInterface() and fix C++ sample
2019-02-21 22:57:26 +01:00
xarkes
a1110ee2ac WIP Python plugin PoC 2019-02-21 22:57:26 +01:00
Gaurav Kumar Ghildiyal
a83791a3e0 Fix arch and bits in Hexdump Widget (#1209) 2019-02-20 21:16:56 +01:00
Vanellope
4a9b6182f5 Fix a bug which causes segfault when adding another Graph (#1202) 2019-02-19 15:56:50 +00:00
Gaurav Kumar Ghildiyal
a8fbe72bf7 Show sizes of structs and unions (#1203)
Show sizes of structs and unions and update radare2 submodule for r_core_save_parsed_type()
2019-02-19 14:11:01 +00:00
Vanellope
cd96856959 Fixed a scaling issue of Graph (#1200)
* Fixed a scaling issue of Graph

* Thoroughly fixed for the scaling

* double click fixed
2019-02-17 13:31:00 +00:00
Vanellope
f8cebe0e30 Graph scrolling forever (#1195)
* Replace scroll algorithm with just using offset

* WIP

* Text is now shown properly on each node

* WIP

* Scaling well WIP

* Fix positioning for Graph

* Overview properly displays Rect WIP

* Rect in overview moves along with the mouse WIP

* Overview rect properly moves WIP

* mouse properly moves WIP

* in middle of fixing resizing WIP

* scaling issue WIP

* Properly zooms

* almost done

* Edge width fixed for the overview

* Fixed a small bug

* Clean up
2019-02-16 17:17:11 +00:00
Florian Märkl
9a02dd24a7 Fix FunctionsWidget Tooltip Colors 2019-02-15 18:39:47 +01:00
Florian Märkl
9f31fd40b4 Move HTML Disasm formatting to Cutter 2019-02-15 18:39:47 +01:00
xarkes
2132b5cb09
Fixed a typo (#1192) 2019-02-13 15:35:38 +01:00
Adam Zambrzycki
ef2f8f6772 Fix graph header resizing (#1189)
* Fix graph header resizing

* Remove 'this'

* Fix formatting

* Add comment
2019-02-13 07:37:05 +00:00
Itay Cohen
b5a69357d6
Fix SDB Browser docking problem and rename the whole thing (#1188)
* Fix sdbBrowser docking and renaming

* Fix SdbBrowser docking and naming
2019-02-13 06:38:47 +00:00
Gaurav Kumar Ghildiyal
2f804380fc Fixed memory leak and refactored code (#1181) 2019-02-11 14:54:02 +00:00
Gaurav Kumar Ghildiyal
c9ce15f6dd Added load, delete and export features in the Types Widget (#1158)
* Added export types feature in types widget

* Added load new types option

* Added delete types option

* Removed redundant files

* Fix for translation

* Added popups in TypesWidget and related dialogs

* Added addTypes() in CutterCore and changed code to use it.

* Update r2 submodule for r_parse_c_string()

* Added override keyword for overridden functions

* Added comments and removed popup question.

* Added comments and confirmation dialog for delete
2019-02-11 09:34:15 +00:00
Vanellope
1a132ecf83 Fix an wrong positioning of the rect of Overview (#1171)
* Fix an wrong positioning of the rect of Overview

* Fix commenting and a resizing issue
2019-02-07 20:39:37 +00:00
Florian Märkl
3a80b111b3 Add Actions to Create/Rename/Delete Classes 2019-02-07 14:53:14 +01:00
Florian Märkl
bcb3a162f7
Use REvent for classes (#1169)
* React to Anal Class REvents

* Correctly react to specific Class Events

* Adapt to Class REvent changes

* Update r2 submodule for Class REvents
2019-02-07 11:42:53 +01:00
Adam Zambrzycki
6ad7900a3f Improved big blocks rendering performance (#1166) 2019-02-06 14:42:03 +01:00
Adam Zambrzycki
3493eae194 Fix graph blocks rendering optimization (#1164) 2019-02-05 16:21:02 +01:00
Vanellope
85a57f9e17 Proper fix for the infinite loop that had occurred to the Overview (#1156) 2019-02-03 08:54:28 +01:00
Florian Märkl
1ee1d7d948 Fix Seek to VTable and add some docs 2019-02-02 15:17:50 +01:00
Florian Märkl
dae04b8609 Rename Anal to Analysis in ClassesWidget 2019-02-02 15:17:50 +01:00
Florian Märkl
1864e7b95d Finish EditMethodDialog 2019-02-02 15:17:50 +01:00
Florian Märkl
7bdc28d07d Make EditMethodDialog Method Loading work 2019-02-02 15:17:50 +01:00
Florian Märkl
159d04e4c5 Re-enable Proxy Model for Classes Widget 2019-02-02 15:17:50 +01:00
Florian Märkl
2f0fd91137 Polish Classes Widget 2019-02-02 15:17:50 +01:00
Florian Märkl
c54f7df3cb Add Icons to ClassWidget 2019-02-02 15:17:50 +01:00
Florian Märkl
af20c35ab0 Show Anal Class Attributes 2019-02-02 15:17:50 +01:00
Florian Märkl
6087ab8016 Add Methods to fetch Anal class attrs 2019-02-02 15:17:50 +01:00
Florian Märkl
c7d582a893 Basic Display of Anal Classes in ClassesWidget
Fetch Anal Classes

Display vtable info in ClassesWidget

Add Context Menu to ClassesWidget

Show Base Classes in ClassesWidget

Add EditMethodDialog

Fix Anal Classes List

Set Anal as the default Classes Source

Display Anal Classes from SDB in ClassesWidget
2019-02-02 15:17:50 +01:00
Gaurav Kumar Ghildiyal
601339d86f Added some of the features mentioned in the Types Widget Project. (#1153)
* Added filter widget to types widget

* Added filter capibility in types widget

* Added comments and refactored some code

* Corrected some details
2019-02-01 18:11:50 +02:00
Vanellope
f5709830b9 Fix graph zoom for overview (#1152) 2019-01-31 13:14:15 +01:00
xarkes
8c6db6e3bb Fixed infinite recursion in OverviewView (#1144)
It was calling itself at the end of the function
instead of calling the parent's mousePressEvent
function.
2019-01-27 10:55:53 +02:00
vane11ope
43363f25e6 Fix a resizing issue 2019-01-24 20:45:35 +01:00
Vanellope
b25afecc2c Graph Overview (#1120)
Added a Graph Overview
2019-01-24 18:13:04 +01:00
Florian Märkl
f917921d49
Fix r2 injection in FunctionsWidget tooltip (#1122) 2019-01-20 12:51:02 +01:00
xarkes
fdf619a762 Moved CutterSeekable to common directory
It used to be in widgets for no reason, it is
just a regular class that is commonly used by some
widgets.
2019-01-15 08:21:35 +01:00
a1ext
1a748903e4 Fixed DisassemblyWidget's eventFilter crash (#1111)
* Fixed DisassemblyWidget's eventFilter crash (usage of a non-initialized member before assignment)

* Alignment fix, just to trigger appveyor build
2019-01-15 08:48:30 +02:00
xarkes
3c27c62b2d Fix Graph refresh 2019-01-14 18:50:20 +01:00
xarkes
b27cd39ddc Added RefreshDeferrer to emulation widgets 2019-01-14 18:50:20 +01:00
xarkes
06da378362 Readded SectionWidget with RefreshDeferrer 2019-01-14 18:50:20 +01:00
Florian Märkl
0ebe1cf728 Fix some minor issues and leaks 2019-01-14 18:50:20 +01:00
Florian Märkl
bbd5ad6b38 Document RefreshDeferrer 2019-01-14 18:50:20 +01:00
Florian Märkl
9ef971263f Fix DisassemblyWidget refreshing 2019-01-14 18:50:20 +01:00
Florian Märkl
d651a0d8be Add createReplacingRefreshDeferrer for convenience 2019-01-14 18:50:20 +01:00
Florian Märkl
b8c92a460d Add RefreshDeferrer 2019-01-14 18:50:20 +01:00
Florian Märkl
3728f977a2 Split isVisibleToUser and refreshing in Dock Widgets 2019-01-14 18:50:20 +01:00
xarkes
f4c720cffa WIP First PoC to draw only visible after seek 2019-01-14 18:50:20 +01:00
Adam Zambrzycki
d05fdd3d44 Add 'Copy' context menu option to graph view (#1097) 2019-01-14 09:16:10 +01:00
xarkes
b0bb1f0610
Fixed many warnings in DisassemblerGraphView (#1103)
Most of them were qreal to integer precision
loss, so I added static_cast to remove the
warnings.
2019-01-13 15:40:37 +01:00
xarkes
f385cf26d5 Refactored CutterSeekableWidget to CutterSeekable (#1099)
This commit refactors the CutterSeekableWidget class
and adds some documentation.
2019-01-13 16:20:07 +02:00
Itay Cohen
3666c97178 Highlight program counter in Navbar widget (#1095)
Highlight program counter in navbar and add navbar cursor
colors to native theme configuration.
2019-01-12 10:02:07 +01:00
Florian Märkl
f189fb423c
Remove Fallback for afcf in Graph Header (#1090)
since afcf now works for all functions in r2 this is not needed anymore and will greatly improve performance
2019-01-10 15:49:31 +01:00
a1ext
9aec148218 FunctionsWidget: tooltip data retrieving optimized (print limited number of instructions instead of printing the whole function) (#1088) 2019-01-09 07:45:07 +02:00