Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat req] ability to have stat window permanently visible and reacting to selected items #417

Open
msoltyspl opened this issue Nov 8, 2015 · 9 comments
Labels
enhancement This is a feature request, or an idea to enhancement a current feature investigate Issue needs more investigation and discussion before a solve is implemented

Comments

@msoltyspl
Copy link

Essentially equivalent of "selected item info" under EFT. E.g.:
clipboard01

@blitzmann
Copy link
Collaborator

What would be the use-case here? Most of the important attributes that you would want to see are already on the fitting window, what would be the need to see the large list of attributes pyfa keeps track of every time you click another module?

@msoltyspl
Copy link
Author

It makes comparison between certain modules much easier and faster - by just moving cursor over them. For example take deadspace modules: 2-3 groups * C-/B-/A-/X- can get tiring when we need to RMB, select "show module stats", close, repeat with next.

It could also help with main fit window - even if it's notably more information rich than EFT's, sometimes we want to check other stuff (or just stuff not explicitly informed - e.g. armor hardeners resistance bonus).

@Ebag333
Copy link
Contributor

Ebag333 commented Oct 16, 2016

It makes comparison between certain modules much easier and faster

This is already handled in a very neat fashion with the compare tab that @blitzmann has added.

The issue here is the way that wxPython handles GUI updates. You would have to build the window and call out to update it every time, this will slow down the GUI refresh process (which is already slow enough that you can watch it refresh). There's a couple ways we could handle this in wxPython, but it's really hacky and not a great solution due to the refresh issue.

I think this is better handled with general UI improvements, the item compare was a massive step in that direction (BTW, did you know it works on Ships too?) and a fit compare would be as well.

@blitzmann as we already have a few open issues regarding fit compares, and you do have the item compare in place, can we close this?

@blitzmann
Copy link
Collaborator

Thinking back on this... I think it could be possible...

Imagine:

A checkbox on the lower end of the item stats window that toggles "Bind to currently selected item". This will cause the window to remain in place, and listen for item selected events.When the event happens, it updates. I don't think it's too difficult, or will cause any performance issues. I will definitely have to check into it a bit further though to make sure it's feasible, but it's an intriguing idea.

@blitzmann blitzmann added investigate Issue needs more investigation and discussion before a solve is implemented enhancement This is a feature request, or an idea to enhancement a current feature labels Oct 17, 2016
@Ebag333
Copy link
Contributor

Ebag333 commented Oct 17, 2016

As far as I know with wxPython you'll have to create bindings for all the fields you want to update, and then you'll have to refresh those every single time. That's going to add a LOT of bindings.

Hmm....what if we added a refresh button that reloaded the existing item window. Wouldn't be instant, but you click it and it updates. Might be easier to implement, given wxPython's limitations.

Pyfa is noticeably slow on refreshing the GUI, and it gets pretty bad if you have complex fits up with lots of things going on. I'm just concerned about dumping a bunch of stuff on top of it, since it's not unusual to have second+ delays doing normal operations currently.

@blitzmann
Copy link
Collaborator

blitzmann commented Oct 17, 2016

As far as I know with wxPython you'll have to create bindings for all the fields you want to update, and then you'll have to refresh those every single time. That's going to add a LOT of bindings.

Nope. Those fields are set to the item passed to the window. All we need to do is change the item, self.Refresh() the pages, and boom. In fact, this is already mostly solved for. Open stats on an item, then ctrl+click open stats on another item. It uses the same window. Magic.

we basically just need to do the same thing, but on the selection of an item instead of a ctrl+click open stats. :)

given wxPython's limitations

I know you don't like wx, and I'll admit it's given me more headaches than I can count, but it is a pretty powerful GUI toolkit. I wouldn't underestimate it's abilities once you're familiar with it.

I'll try to build out this feature soon. I don't think performance will be an issue, but we'll see.

@Ebag333
Copy link
Contributor

Ebag333 commented Oct 17, 2016

I'll try to build out this feature soon

Good luck. o7

@msoltyspl
Copy link
Author

msoltyspl commented Jan 4, 2017

Btw, as an orignal reporter of this "issue" - just wanted to mention I got used to comparison tab, as per earlier comment:

This is already handled in a very neat fashion with the compare tab that @blitzmann has added.

TBH it's probably more convenient than for what I asked originally - so feel free to close this issue \o/

@blitzmann
Copy link
Collaborator

I'll keep it open, if anything due to sheer curiosity if it can be done as easily as I think. It's also a feature that has come up a few times before, so some folks want it. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is a feature request, or an idea to enhancement a current feature investigate Issue needs more investigation and discussion before a solve is implemented
Projects
None yet
Development

No branches or pull requests

3 participants