Know any UI Developers? (Bounty Inside)
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Know any UI Developers? (Bounty Inside)
by moomarc » 12 Aug 2011, 22:07
Looks great! Did you create the dragon yourself?
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Know any UI Developers? (Bounty Inside)
by Rob Cashwalker » 13 Aug 2011, 01:54
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: Know any UI Developers? (Bounty Inside)
by Sija » 13 Aug 2011, 08:05
so, when we can try Forge with new gui?
- Sija
- Posts: 3
- Joined: 12 Aug 2011, 07:32
- Has thanked: 0 time
- Been thanked: 0 time
Re: Know any UI Developers? (Bounty Inside)
by Rob Cashwalker » 13 Aug 2011, 13:22
Still working on making everything functional. It will be sometime during next week at the earliest.
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: Know any UI Developers? (Bounty Inside)
by moomarc » 13 Aug 2011, 13:27
I'll be posting the larger buttons you wantedd either tonight or early tomorrow. With family today. 

-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Know any UI Developers? (Bounty Inside)
by moomarc » 14 Aug 2011, 12:42
Okay, lets try again...
Here's the buttons with extra 5px height. I did adjust the font sizes as well so letters with descenders do extend onto the frame. I don't feel that it makes it any less legible, whereas the larger font size makes it easier to read. Due to the greater button heights I've also included a smaller version of the logo and trimmed the start button. Included are also the new title buttons for Mode and Library. It was a simple change but I think it makes it much easier to determine that they're not interactive, without changing the overall style.
As requested it also contains toggles states for all submenu buttons. In case its easier I included the toggles as a separate png that can overlay toggled items so as to retain the original button states underneath.
Can the buttons use animated gifs? It would be handy to know for future tweaks and themes. Lastly, is it only the deck selection that will populate the scroll, or will the settings/options also open there?

As requested it also contains toggles states for all submenu buttons. In case its easier I included the toggles as a separate png that can overlay toggled items so as to retain the original button states underneath.
Can the buttons use animated gifs? It would be handy to know for future tweaks and themes. Lastly, is it only the deck selection that will populate the scroll, or will the settings/options also open there?
- Attachments
-
Buttons rev2.zip
- Button states
- (663.41 KiB) Downloaded 268 times
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Know any UI Developers? (Bounty Inside)
by Rob Cashwalker » 14 Aug 2011, 15:11
Thanks marc. It passed my wife's test.
I'm just making use of built-in image properties that JButtons and JRadioButtons have. A transparent overlay won't work the way you're thinking, without coding my own Paint methods.
I'll try out an animated gif at some point. I would tend to think it should be supported.
I was thinking the settings could pop up over there, but I did make a feature request for an entirely separate GUI. It's something I'll look into after making the rest functional.
BTW, current functionality finished:
- by combination of clicking game mode and player, scroll is populated with deck options (all game type decks are listed as appropriate)
- launch constructed games by selecting decks
- launch constructed games by random deck selection
I'm just making use of built-in image properties that JButtons and JRadioButtons have. A transparent overlay won't work the way you're thinking, without coding my own Paint methods.
I'll try out an animated gif at some point. I would tend to think it should be supported.
I was thinking the settings could pop up over there, but I did make a feature request for an entirely separate GUI. It's something I'll look into after making the rest functional.
BTW, current functionality finished:
- by combination of clicking game mode and player, scroll is populated with deck options (all game type decks are listed as appropriate)
- launch constructed games by selecting decks
- launch constructed games by random deck selection
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: Know any UI Developers? (Bounty Inside)
by moomarc » 14 Aug 2011, 15:41
Rob Cashwalker wrote:Thanks marc. It passed my wife's test.


-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Tech ramblings about splash page (Issue 106)
by Braids » 17 Aug 2011, 03:06
i just can't seem to get moving on the actual gui {swing} part. instead of passing on this right away, i think i'll ramble here about its implementation. here there be dragons highly technical terms. nothing like some public ridicule for self-motivation.
the earliest point at which you can reasonably display something on the screen is in the constructor for src/main/java/forge/view/swing/ApplicationView. any public methods you add to that are candidates for adding to the forge.view.FView interface. i'm not sure how to separate out the swing event loop. it should go into ApplicationView eventually, but i'm not ready to even research potentially overhauling Forge's threading model.
the splash page should center itself on the main display and not have any window decorations. the latter can be done with JFrame.setDefaultLookAndFeelDecorated(false).
i originally wanted the progress bar to have 2 phases: the first phase would be making small increments on the parts of initializing the application that don't involve loading the card database {also known as constructing the CardFactory}. phase 2 would be initializing the card database. in retrospect, this is a silly idea, because initializing most of Forge is really fast. so, the model just needs it for the card database. but the model should only use the BraidsProgressMonitor interface, so it's not bonded to a swing implementation. that's already done, as the monitor is passed to FModel's constructor. (FModel isn't an interface . . . yet.)
the CardFactory needs be made aware of the monitor somehow, instead of creating its own using swing. CardFactory should not be using swing directly, anyway.

the earliest point at which you can reasonably display something on the screen is in the constructor for src/main/java/forge/view/swing/ApplicationView. any public methods you add to that are candidates for adding to the forge.view.FView interface. i'm not sure how to separate out the swing event loop. it should go into ApplicationView eventually, but i'm not ready to even research potentially overhauling Forge's threading model.
the splash page should center itself on the main display and not have any window decorations. the latter can be done with JFrame.setDefaultLookAndFeelDecorated(false).
i originally wanted the progress bar to have 2 phases: the first phase would be making small increments on the parts of initializing the application that don't involve loading the card database {also known as constructing the CardFactory}. phase 2 would be initializing the card database. in retrospect, this is a silly idea, because initializing most of Forge is really fast. so, the model just needs it for the card database. but the model should only use the BraidsProgressMonitor interface, so it's not bonded to a swing implementation. that's already done, as the monitor is passed to FModel's constructor. (FModel isn't an interface . . . yet.)
the CardFactory needs be made aware of the monitor somehow, instead of creating its own using swing. CardFactory should not be using swing directly, anyway.
"That is the dumbest thing I've ever seen." --Rob Cashwalker, regarding Innistrad double-sided cards. One of the first times he and I have ever agreed on something. 

-
Braids - Programmer
- Posts: 556
- Joined: 22 Jun 2011, 00:39
- Location: Unknown. Hobby: Driving myself and others to constructive madness.
- Has thanked: 1 time
- Been thanked: 1 time
Re: Know any UI Developers? (Bounty Inside)
by Rob Cashwalker » 17 Aug 2011, 16:00
In VB, I would launch the splash screen form, which initially just loads the UI. (window frame, logo, version/copyright text and the progress bar) The form would have a timer control set to fire 1 or 2 seconds later, which would then start doing the actual leg work.
Is there any way the splash screen could spawn a worker thread that emulates the timer object, which just calls a method that does the real app initializing, then the worker thread can die, while the initialization occurs?
Is there any way the splash screen could spawn a worker thread that emulates the timer object, which just calls a method that does the real app initializing, then the worker thread can die, while the initialization occurs?
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: Know any UI Developers? (Bounty Inside)
by Braids » 17 Aug 2011, 19:05
oh, food for thought! it's delicious.Rob Cashwalker wrote:In VB, I would launch the splash screen form, which initially just loads the UI. (window frame, logo, version/copyright text and the progress bar) The form would have a timer control set to fire 1 or 2 seconds later, which would then start doing the actual leg work.
Is there any way the splash screen could spawn a worker thread that emulates the timer object, which just calls a method that does the real app initializing, then the worker thread can die, while the initialization occurs?

I did a little research on Swing's threading model. summary: anything that fiddles with a Swing object must be do so in swing's Event Dispatching Thread.
starting in main, code is running in the main thread, not the EDT. to get code inside the EDT, i have to use SwingUtilities.invokeLater(Runnable).
thinking about what you said, Rob, you're partly right. i must initialize the CardFactory in a temporary worker thread from there. Snacko helps explain why in this topic.
i'm trying out WindowBuilder for the first time. i haven't done much swing lately, so i will need some people to review my code.
"That is the dumbest thing I've ever seen." --Rob Cashwalker, regarding Innistrad double-sided cards. One of the first times he and I have ever agreed on something. 

-
Braids - Programmer
- Posts: 556
- Joined: 22 Jun 2011, 00:39
- Location: Unknown. Hobby: Driving myself and others to constructive madness.
- Has thanked: 1 time
- Been thanked: 1 time
Discussion delegate/redirect
by Braids » 17 Aug 2011, 22:09
i suggest we resume the technical discussions under the Developer's Corner forum. i have created the topic Aug 2011 GUI Overhaul.
"That is the dumbest thing I've ever seen." --Rob Cashwalker, regarding Innistrad double-sided cards. One of the first times he and I have ever agreed on something. 

-
Braids - Programmer
- Posts: 556
- Joined: 22 Jun 2011, 00:39
- Location: Unknown. Hobby: Driving myself and others to constructive madness.
- Has thanked: 1 time
- Been thanked: 1 time
Re: Know any UI Developers? (Bounty Inside)
by Rob Cashwalker » 25 Aug 2011, 02:57
New Screenshot
Notice the upper-right. I wasn't digging the tower on the left. Leaves no room for additional items. The area over the scroll seemed like a logical place to put buttons for Settings and Utilities. Utilities are things like picture downloading. (Obviously using the same image as a placeholder, Marc, can you do a button for it?)
Notice the upper-right. I wasn't digging the tower on the left. Leaves no room for additional items. The area over the scroll seemed like a logical place to put buttons for Settings and Utilities. Utilities are things like picture downloading. (Obviously using the same image as a placeholder, Marc, can you do a button for it?)
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Re: Know any UI Developers? (Bounty Inside)
by moomarc » 25 Aug 2011, 06:08
Looks great! I'll create the Utilities button as soon as I get a chance. And if you still need more space on the left then you can swap the logo out for the slightly smaller one I supplied with the last batch. And if we need still more space after that I'll adjust the background image and Start button so that it can (the Start button) can be placed below the scroll on the right. If you want to go that root let me know.Rob Cashwalker wrote:New ScreenshotNewForgeGui.jpg
Notice the upper-right. I wasn't digging the tower on the left. Leaves no room for additional items. The area over the scroll seemed like a logical place to put buttons for Settings and Utilities. Utilities are things like picture downloading. (Obviously using the same image as a placeholder, Marc, can you do a button for it?)
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Re: Know any UI Developers? (Bounty Inside)
by Rob Cashwalker » 25 Aug 2011, 12:57
I can't swap the logo it's built-in to the background. I can't move it higher either, for the same reason.
If you want to restyle the settings and utility buttons since they're in a different location, that would be cool. The could be made a bit smaller. Maybe even trim left and right sides so that the two buttons fit across the top.
If you want to restyle the settings and utility buttons since they're in a different location, that would be cool. The could be made a bit smaller. Maybe even trim left and right sides so that the two buttons fit across the top.
The Force will be with you, Always.
-
Rob Cashwalker - Programmer
- Posts: 2167
- Joined: 09 Sep 2008, 15:09
- Location: New York
- Has thanked: 5 times
- Been thanked: 40 times
Who is online
Users browsing this forum: No registered users and 43 guests