Page 3 of 4

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 07:09
by Max mtg
Any point on the group title bar is clickable in windows explorer to expand/collapse its group

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 07:24
by drdev
Max mtg wrote:Any point on the group title bar is clickable in windows explorer to expand/collapse its group
Fair point. I'll try and see what I can come up with.

In the meantime, I have a screenshot of what I'm thinking pile view could look like in terms of horizontal scrolling. I really didn't want a horizontal scrollbar, nor did I want arrow buttons for vertical scrolling, so I came up the idea of having each group have its own left and right arrow buttons to scroll through its piles, in addition to a vertical scrollbar to scroll through piles vertically and through groups.

PileView.png

Let me know what you think. If people like it, I should still be able to combine it with Max's idea. Otherwise, I could try just a horizontal scrollbar with Max's idea, which would certainly be an easier implementation. Aside from figuring out horizontal scrolling, pile support is otherwise already committed.

Thanks.
-Dan

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 08:20
by moomarc
Looks really good, thanks Dan.

I've been really hectic with work so haven't had a chance to actually try any of this out, so my opinions are purely based on look and conjecture. With regards to scrolling, I think each group having its own scroll pane is perfect. However, the arrows can be a little slow, so would it be possible to hook up the scroll wheel to left/right scrolling in these? But a standard scroll bar might just be worth it (I do like the control it gives you). And as for the group headers, I think Max's idea will make it feel less busy and overfull, which sometimes is the case. Looking forward to having some free time to actually use it ;)

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 12:24
by Agetian
Ok, Linux user here (in case it's system-dependent). ;) Not sure if it's just me missing or not understanding something, but I don't see horizontal scrollbars or arrows on my system, so if I have, for instance, creatures with CMC 1,2,3,4 that are currently displayed on the screen, if I add one more creature with CMC 5 I will not be able to see it because I can't scroll to it in any viable fashion... is it just me or is something not implemented yet? Here's what I'm seeing:

sample-no-scrolling.png


Notice that I moused over a tiny border of a high-CMC card I just threw into the deck. It's almost invisible (just a tiny part of the selection border) and there's no way to scroll to it to see what it is. If I add one more CMC beyond that it'll be completely invisible.

By the way, choosing between arrows and scrollbars, I think scrollbars might be preferable/more intuitive because (I agree with Marc) arrows can be somewhat slow to use...

P.S. Notice the artifact in the top left, too. The top left card has a partial green border around it - actually, my mouse is not over that card at all... and I can't make that green border go away, it's just permanently there, it seems.

P.P.S. Overall though, great job on the view! This is going to be really amazing once it's up to its full potential!! It is very impressive already! Keep it up!

- Agetian

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 12:30
by Max mtg
Agetian wrote:Ok, Linux user here. ;) Not sure if it's just me missing or not understanding something, but I don't see horizontal scrollbars or arrows on my system, so if I have, for instance, creatures with CMC 1,2,3,4 that are currently displayed on the screen, if I add one more creature with CMC 5 I will not be able to see it because I can't scroll to it in any viable fashion... is it just me or is something not implemented yet?

- Agetian
A Windows user confirms that without horizontal scrollbar more expensive createures are not visible. %)

I think drdev has already seen that problem and will fix that soon.
As an alternative to h-scroll I could suggest to start a new top-aligned set of columns below the ones that did fit into width. Like that
Code: Select all
A B C
A B C
A   C
A

D E F
D E
  E

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 12:33
by Agetian
I think this would be a perfect solution, Max! No scrolling + you still get to see all the cards in each group. If this would be possible to implement, I'm all for this idea!

And thanks for confirming that it's not just me not being able to select those far right cards! XD

- Agetian

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 15:07
by drdev
Forgive me. I committed the pile support without horizontal scrolling and ran out of time before I could commit horizontal scrolling support.

I had considered Max's pile wrapping idea but thought at the time it might be confusing. However, after seeing his little chart and thinking on it more, I agree that will probably work best. It also will be a pretty simple implementation. I should be able to commit something that works like that this morning.

As for that green border that supposedly won't go away, that's the selection. If you clicked on another card, it would move to that card. However, I take it you'd like the ability to deselect that card by clicking outside any cards, is that correct?

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 15:10
by Agetian
@ drdev: Oh, gotcha! (for some reason I forgot about the possibility to actually select a card, no idea why :D :D ) - anyhow, the ability to deselect all cards by clicking outside any card sounds like a good idea if it's not too hard to implement. If it is difficult to do, it's not critical by any means. :)

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 15:39
by friarsol
drdev wrote:As for that green border that supposedly won't go away, that's the selection. If you clicked on another card, it would move to that card. However, I take it you'd like the ability to deselect that card by clicking outside any cards, is that correct?
I haven't tried it, but are you able to multiselect cards (probably Ctrl+Click to add it to the currently selected Cards)?

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 15:47
by Agetian
friarsol wrote:I haven't tried it, but are you able to multiselect cards (probably Ctrl+Click to add it to the currently selected Cards)?
No, unfortunately I can't get it to multi-select with ctrl+clicking or shift+clicking... probably it's not implemented yet.

- Agetian

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 15:54
by drdev
Agetian wrote:
friarsol wrote:I haven't tried it, but are you able to multiselect cards (probably Ctrl+Click to add it to the currently selected Cards)?
No, unfortunately I can't get it to multi-select with ctrl+clicking or shift+clicking... probably it's not implemented yet.

- Agetian
It was implemented, but I broke it recently somehow. I will try to fix it today. EDIT: Fixed.

Note that editors that don't support multiple selection in list view (like Draft Catalog) won't support it in image view either.

For those that support multiple selection, would people find it useful if I added selection box support, where if you click outside any card and drag, you can draw a box and select all cards that intersect that box?

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 15:56
by Agetian
@ drdev: Sounds useful and interesting, yes!

- Agetian

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 17:29
by drdev
Alright, I've changed the group headers per Max's suggestion, as well as changed piles to wrap. The result looks like this:

WrappedGroupPiles.png

I plan to add a hover effect to the group headers similar to the Windows example, but otherwise I think I'm pretty much done with layout stuff. Let me know if I should tweak anything else.

Thanks for your input guys. Definitely helped, and I like this new look better too.
-Dan

P.S. Agetian, I also committed a fix so you can deselect cards by clicking outside any card. On that note though, is the selection border too thick? Should I just use the same border thickness for hover and selection, and maybe just make the selection color stand out a bit more?

Re: Forge version 1.5.12

PostPosted: 04 Feb 2014, 18:11
by Agetian
I think it looks great, drdev!

I got this exception while testing (I was experimenting with selecting multiple cards with ctrl+click and I accidentally clicked the same card twice while holding ctrl):

IndexOutOfBoundsException | Open
Code: Select all
Forge Version:    1.5.12-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version:     1.7.0_51 Oracle Corporation

java.lang.IndexOutOfBoundsException: Index: 20, Size: 3
   at java.util.ArrayList.rangeCheck(ArrayList.java:635)
   at java.util.ArrayList.remove(ArrayList.java:474)
   at forge.gui.toolbox.itemmanager.views.ImageView$1.selectItem(ImageView.java:121)
   at forge.gui.toolbox.itemmanager.views.ImageView$1.onLeftMouseDown(ImageView.java:71)
   at forge.gui.toolbox.FMouseAdapter.mousePressed(FMouseAdapter.java:62)
   at java.awt.Component.processMouseEvent(Component.java:6502)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
   at java.awt.Component.processEvent(Component.java:6270)
   at java.awt.Container.processEvent(Container.java:2229)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4489)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
   at java.awt.Container.dispatchEventImpl(Container.java:2273)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:694)
   at java.awt.EventQueue$3.run(EventQueue.java:692)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:708)
   at java.awt.EventQueue$4.run(EventQueue.java:706)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
- Agetian

Re: Forge version 1.5.12

PostPosted: 05 Feb 2014, 02:44
by Agetian
Here's a way to reliably reproduce the crash with Ctrl-click:
Create a new deck, add a few different cards inside, click on one of the cards to select it, then hold Ctrl and click on the some other card two times. A non-fatal exception is generated at that time (as described above).

- Agetian