using ktexteditor as a base for a disassembly viewer

Sven Brauch mail at svenbrauch.de
Fri Dec 11 15:52:25 GMT 2020


Hi,

> PS: How would one even use KSyntaxHighlighting for rendering into a 
> QAbstractItemView? That also sounds somewhat nasty hmmm

That doesn't sound too complicated, or maybe I'm mistaken? For one of my applications, I needed HTML rendering once, which I implemented by creating a delegate holding a QTextDocument. The delegate just sets the text on the document and then draws its contents. The same should work when you set a highlighter. Like this (sorry, not the cleanest code, it's already a few years old): http://pastie.org/p/6yTw8HZl47KcgvrjSBaDG8

Otherwise, I'm not sure either. I personally think it will be easier if you just use a QTableView, unless you need column-wise text selection. I think you could hook everything you need into KTextEditor as well (by e.g. setting custom context menus depending on the column that was clicked etc) but it will require more lines of hacks than you would otherwise need to re-create the needed functionality yourself ;)
Some applications use the text editor for a lot of stuff, maybe that can serve you as inspiration -- e.g. sublime text comes to mind, which presents its search results (and probably other things) as an interactive text document.

All the best,
Sven

On 12/11/20 3:46 PM, Milian Wolff wrote:
> Hey all,
>
> I'm wondering what to use for hotspot to show a disassembly view. Basically
> this view consists of multiple columns:
>
> - address
> - instructions
> - costs (cycles, instructions, branch misses, whatever...)
>
> Initially I thought: Let's use a read-only ktexteditor part for this, as it
> will get us highlighting and copy'n'paste features for free. But we'd have to
> put the costs into ktexteditor annotations then, I guess?
>
> So I'm not so sure whether that's a good fit after all: While we get some
> features for free, we lose others, such as reordering of columns and selection
> of more.
>
> What would you use to build something like this:
> https://docs.wasmtime.dev/assets/perf-annotate-fib.png
>
> Ideally, we would even eventually get the ability to show the source code too,
> like here:
> https://chrisdietri.ch/img/perf-report-annotate2.png
>
> But I have to say that instead of the mixed view above, I much prefer
> godbolt's view: https://danlarkorg.files.wordpress.com/
> 2020/10/2020-10-04-223128_947x626_scrot.png?w=947
>
> So, any input and suggestions would be welcome on how to tackle this.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwrite-devel/attachments/20201211/9b0bf2fa/attachment.htm>


More information about the KWrite-Devel mailing list