Aurora UI -- New Project

OK, while most of you guys here are raving about Tomcat integration, JSP
debugging or other important functional features, let me rant about the
Aurora UI. I am sick for the third day, sneezing and coughing, I do not feel
like working but I still can see letters on the screen ;-).

Downloaded build 977, fresh in the flesh, so I will start right from the
beginning.

After IDEA starts up, the project wizard pops up. How to turn it off? How
can I switch from the wizard to normal dialog window, feature that is
standard for Windows wizards (I am on Win2000 and I like consistency of
Windows interface).

The default value in the Location field points somewhere to the
"C:\Documents and Settings\]]>\IdeaProjects\untitled1\untitled1.ipr".
Why? I explicitly set up during the installation time, that I want to store
IDEA settings in the other location (namely, in the IDEA-977 installation
directory while I use EAP releases). Did I miss something?

Also, what is a project location and what is a project? I might imagine that
project is a set of directories/files plus some control file which stores my
source/deploy information. So, what is exactly the location of IPR file: the
location of control file only, or default location of my source files? I
would change the text in the dialog from "Please enter a file name to create
a new IntelliJ IDEA (Aurora) project" to "Please choose name and location of
IntelliJ IDEA (Aurora) project control file". And if I already informed by
IDEA that I am entering a file name, why duplicating it along with the IPR
extension in the Location field, creating full path to the file? Either ask
me for a project name and location and do the concatenation and
canonicalPath() stuff behind the scenes, or ask me for a full path of a
project file and do not overcomplicate things. I understand that UI is still
in work, but with projected release schedule it might seem to be close to
the real thing.

Btw, one cannot copy the label from the dialog. You think one should not be
able to copy labels? Well, I do it all the time while keeping saying thanks
for MS for doing this little things for me. It cannot be simpler than that:
- start IE
- right click on any picture, Properties. Now you can select URL using mouse
and even right click on the URL to copy it into clipboard. Handy? Then why
IDEA labels are unselectable?

Going further. Location field does not allow direct editing. Why? This is a
development tool, does someone think that I am so dumb that I cannot even
type a path correctly? OK, I will select it from the dialog, there is a nice
button with ellipses to help me. How would I do that with the keyboard? I am
in Name field and I am pressing Tab. Caret disappears, text in Location
field is not get selected. What control is the current one? I tried
Alt-Down, Space or even Enter -- nothing helps. Well, after pressing Tab two
more times Next button is selected. Aha, so the focus was being changed,
but what do I need to do to open the dialog?

When I pressed Enter while Location was supposedly focused, nothing
happened. Nothing! Even not moving to the next dialog page. Because this
wizard does not have default control which should be fired on pressing
Enter. OK, I will try to select one. I press Tab several times to select
Next button. Now I should be able to move focus within the button group
using Left/Right keys, but this does not work. Apparently, each control on
this page is a separate group and I can only move from one control to
another using Tab and I cannot proceed to the next page until I select Next.
Sleek. Is is Swing shortcomings?

I do not like using mouse but it seems that the only way to select Location
as well as Target JDK and Compiler Output Path is to click on the ellipses
button using mouse. What can I do in this dialog with keyboard? Not much:
OK, Cancel or moving up and down the directory tree. No Shift-F10
(Properties), no Ins or F7 (I would suppose to be "Create Dir", well along
the conventions of different commanders), and spacebar moves highlight from
the selected directory somewhere in the outer space. So I have to use mouse
again. Whoa, tool buttons, cool. I can even create a new directory which is
conveniently called Folder, complying to current Microsoft naming
conventions as well as other interface.

Now I have to select Target JDK. Nice small dialog, let me drag its border.
Whoa, nice effect. I am not a big Swing programmer, but I would think that
even with single-threaded Swing model it should be possible to track
MOUSE_DRAGGED or COMPONENT_RESIZED messages to repaint the window so it
would not look that ugly when resized. I understand that this is Swing, not
the good old WinAPI, but is it possible at least to set underlying window
color to match the color of the IDEA palette? Because during this resizing
process I see native window underneath and it has the color of my Windows
palette. Is it possible at least to create custom window class with a color
matching IDEA color? No one uses 4-bit graphics anymore, this should not be
a problem. This is the example of what could be done better with SWT.

OK, it is time to select Target JDK. What, no default JDK? Nothing? I
installed IDEA after I installed JDK, so all necessary information is
already in the registry, yet IDEA could not find and preconfigure it. What
gives? I click Configure, the same keyboard problems, all fields are
disabled except "+" button (sleek again). I select some document directory,
but IDEA complains: "The directory selected is not a valid JDK home". Then
find the valid one! Search the registry, lazy program. OK, I can select it
by myself. Now, the question: what is the difference between "+" button and
ellipses button beside the "JDK home path" field? One might think, that "+"
button just creates some sort of named set, library, whatever. And JDK path
actually selects JDK. Nah. If you press "+", you will not see "Enter JDK
name" window, instead you select JDK path. So, what is the point of having
"JDK home path" field? This window is totally inconsistent. And JDK can be a
library anyway with its Classpath/Sourcepath/Javadoc tabs. Well, special
library considering that it has compiler. Whatever. And still only one
javadoc URL can be entered.

Couple of other pages in this dialog do not add much to this, also I kinda
got tired. This is the only one window in the whole IDE, but there are
others!

To IntelliJ guys: please, do not be offended, I like IDEA so much that I
want it to be picture perfect and candy sweet :)

Michael Jouravlev.


5 comments

I understand that UI is still
in work, but with projected release schedule it might seem to be close to
the real thing.


The new project wizard has not been changed at all for ages now. It's true
that it's been rewritten now but what you have is still the old version.
Anyway your comments are very useful for us and we'll try to solve most of
the issues mentioned by you in the new wizard.
See my comments below.

After IDEA starts up, the project wizard pops up. How to turn it off?


Wizard is shown automatically when "Reopen last project on startup" option
is on and there is no last opened project. However I would agree that it's
better to provide user a choice of either creating new project or openning
an existing one.

How
can I switch from the wizard to normal dialog window, feature that is
standard for Windows wizards (I am on Win2000 and I like consistency of
Windows interface).


What do you mean by "normal dialog" and how to switch Windows wizards to it?

The default value in the Location field points somewhere to the
"C:\Documents and

Settings\]]>\IdeaProjects\untitled1\untitled1.ipr".

Why? I explicitly set up during the installation time, that I want to

store

IDEA settings in the other location (namely, in the IDEA-977 installation
directory while I use EAP releases). Did I miss something?


Project file and IDEA settings are not the same at all. Project file is
rather a part of your project (for example it's pretty common practice to
keep .ipr file in the version control). /IdeaProjects is used as default location when creating new project and this cannot be changed at the moment. We could make it configurable but just not sure how many people would find this settings necessary. >]]>

Also, what is a project location and what is a project? I might imagine

that

project is a set of directories/files plus some control file which stores

my

source/deploy information. So, what is exactly the location of IPR file:

the

location of control file only, or default location of my source files? I
would change the text in the dialog from "Please enter a file name to

create

a new IntelliJ IDEA (Aurora) project" to "Please choose name and location

of

IntelliJ IDEA (Aurora) project control file". And if I already informed by
IDEA that I am entering a file name, why duplicating it along with the IPR
extension in the Location field, creating full path to the file? Either

ask

me for a project name and location and do the concatenation and
canonicalPath() stuff behind the scenes, or ask me for a full path of a
project file and do not overcomplicate things. I understand that UI is

still

in work, but with projected release schedule it might seem to be close to
the real thing.


We'll try to make all the above more clear in the new wizard.

>

Now I have to select Target JDK. Nice small dialog, let me drag its

border.

Whoa, nice effect. I am not a big Swing programmer, but I would think that
even with single-threaded Swing model it should be possible to track
MOUSE_DRAGGED or COMPONENT_RESIZED messages to repaint the window so it
would not look that ugly when resized. I understand that this is Swing,

not

the good old WinAPI, but is it possible at least to set underlying window
color to match the color of the IDEA palette? Because during this resizing
process I see native window underneath and it has the color of my Windows
palette. Is it possible at least to create custom window class with a

color

matching IDEA color? No one uses 4-bit graphics anymore, this should not

be

a problem. This is the example of what could be done better with SWT.


I could not understand the above. Please explain.

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"


>
>
"Michael Jouravlev" <mikus@consultant.com> wrote in message
news:bp4f5l$cmc$1@is.intellij.net...

OK, while most of you guys here are raving about Tomcat integration, JSP
debugging or other important functional features, let me rant about the
Aurora UI. I am sick for the third day, sneezing and coughing, I do not

feel

like working but I still can see letters on the screen ;).

>

Downloaded build 977, fresh in the flesh, so I will start right from the
beginning.

>

After IDEA starts up, the project wizard pops up. How to turn it off? How
can I switch from the wizard to normal dialog window, feature that is
standard for Windows wizards (I am on Win2000 and I like consistency of
Windows interface).

>

The default value in the Location field points somewhere to the
"C:\Documents and

Settings\]]>\IdeaProjects\untitled1\untitled1.ipr".

Why? I explicitly set up during the installation time, that I want to

store

IDEA settings in the other location (namely, in the IDEA-977 installation
directory while I use EAP releases). Did I miss something?

>

Also, what is a project location and what is a project? I might imagine

that

project is a set of directories/files plus some control file which stores

my

source/deploy information. So, what is exactly the location of IPR file:

the

location of control file only, or default location of my source files? I
would change the text in the dialog from "Please enter a file name to

create

a new IntelliJ IDEA (Aurora) project" to "Please choose name and location

of

IntelliJ IDEA (Aurora) project control file". And if I already informed by
IDEA that I am entering a file name, why duplicating it along with the IPR
extension in the Location field, creating full path to the file? Either

ask

me for a project name and location and do the concatenation and
canonicalPath() stuff behind the scenes, or ask me for a full path of a
project file and do not overcomplicate things. I understand that UI is

still

in work, but with projected release schedule it might seem to be close to
the real thing.

>

Btw, one cannot copy the label from the dialog. You think one should not

be

able to copy labels? Well, I do it all the time while keeping saying

thanks

for MS for doing this little things for me. It cannot be simpler than

that:

- start IE
- right click on any picture, Properties. Now you can select URL using

mouse

and even right click on the URL to copy it into clipboard. Handy? Then why
IDEA labels are unselectable?

>

Going further. Location field does not allow direct editing. Why? This is

a

development tool, does someone think that I am so dumb that I cannot even
type a path correctly? OK, I will select it from the dialog, there is a

nice

button with ellipses to help me. How would I do that with the keyboard? I

am

in Name field and I am pressing Tab. Caret disappears, text in Location
field is not get selected. What control is the current one? I tried
Alt-Down, Space or even Enter -- nothing helps. Well, after pressing Tab

two

more times Next button is selected. Aha, so the focus was being changed,
but what do I need to do to open the dialog?

>

When I pressed Enter while Location was supposedly focused, nothing
happened. Nothing! Even not moving to the next dialog page. Because this
wizard does not have default control which should be fired on pressing
Enter. OK, I will try to select one. I press Tab several times to select
Next button. Now I should be able to move focus within the button group
using Left/Right keys, but this does not work. Apparently, each control on
this page is a separate group and I can only move from one control to
another using Tab and I cannot proceed to the next page until I select

Next.

Sleek. Is is Swing shortcomings?

>

I do not like using mouse but it seems that the only way to select

Location

as well as Target JDK and Compiler Output Path is to click on the ellipses
button using mouse. What can I do in this dialog with keyboard? Not much:
OK, Cancel or moving up and down the directory tree. No Shift-F10
(Properties), no Ins or F7 (I would suppose to be "Create Dir", well along
the conventions of different commanders), and spacebar moves highlight

from

the selected directory somewhere in the outer space. So I have to use

mouse

again. Whoa, tool buttons, cool. I can even create a new directory which

is

conveniently called Folder, complying to current Microsoft naming
conventions as well as other interface.

>

Now I have to select Target JDK. Nice small dialog, let me drag its

border.

Whoa, nice effect. I am not a big Swing programmer, but I would think that
even with single-threaded Swing model it should be possible to track
MOUSE_DRAGGED or COMPONENT_RESIZED messages to repaint the window so it
would not look that ugly when resized. I understand that this is Swing,

not

the good old WinAPI, but is it possible at least to set underlying window
color to match the color of the IDEA palette? Because during this resizing
process I see native window underneath and it has the color of my Windows
palette. Is it possible at least to create custom window class with a

color

matching IDEA color? No one uses 4-bit graphics anymore, this should not

be

a problem. This is the example of what could be done better with SWT.

>

OK, it is time to select Target JDK. What, no default JDK? Nothing? I
installed IDEA after I installed JDK, so all necessary information is
already in the registry, yet IDEA could not find and preconfigure it. What
gives? I click Configure, the same keyboard problems, all fields are
disabled except "+" button (sleek again). I select some document

directory,

but IDEA complains: "The directory selected is not a valid JDK home". Then
find the valid one! Search the registry, lazy program. OK, I can select it
by myself. Now, the question: what is the difference between "+" button

and

ellipses button beside the "JDK home path" field? One might think, that

"+"

button just creates some sort of named set, library, whatever. And JDK

path

actually selects JDK. Nah. If you press "+", you will not see "Enter JDK
name" window, instead you select JDK path. So, what is the point of having
"JDK home path" field? This window is totally inconsistent. And JDK can be

a

library anyway with its Classpath/Sourcepath/Javadoc tabs. Well, special
library considering that it has compiler. Whatever. And still only one
javadoc URL can be entered.

>

Couple of other pages in this dialog do not add much to this, also I kinda
got tired. This is the only one window in the whole IDE, but there are
others!

>

To IntelliJ guys: please, do not be offended, I like IDEA so much that I
want it to be picture perfect and candy sweet :)

>

Michael Jouravlev.

>
>


0


"Valentin Kipiatkov (JetBrains)" <valentin@intellij.com> wrote in message
news:bp540u$19v$1@is.intellij.net...

How
can I switch from the wizard to normal dialog window, feature that is
standard for Windows wizards (I am on Win2000 and I like consistency of
Windows interface).

>

What do you mean by "normal dialog" and how to switch Windows wizards to

it?

Ok, users cannot do this themselves, but most Windows programs which provide
wizard-style dialogs allow their users to select between a Wizard and a
normal property sheet. Wizards usually are used at the beginning, and later
when a user gets more accustomed to the application, wizards could be
replaced with standard tabbed dialogs. Basically, in Windows this is the
same kind of Property Sheet dialog, the major difference is the PSH_WIZARD
flag in PROPSHEETHEADER structure. Told you, I am more Windows programmer
that a Swing programmer ;) I just hope that Swing has similar features, and
if it does not, well... Many Windows users still expect that any
Wizard-style dialog could be presented to them as a tabbed Property Sheet.

Now I have to select Target JDK. Nice small dialog, let me drag its

border.

Whoa, nice effect. I am not a big Swing programmer, but I would think

that

even with single-threaded Swing model it should be possible to track
MOUSE_DRAGGED or COMPONENT_RESIZED messages to repaint the window so it
would not look that ugly when resized. I understand that this is Swing,

not

the good old WinAPI, but is it possible at least to set underlying

window

color to match the color of the IDEA palette? Because during this

resizing

process I see native window underneath and it has the color of my

Windows

palette. Is it possible at least to create custom window class with a

color

matching IDEA color? No one uses 4-bit graphics anymore, this should not

be

a problem. This is the example of what could be done better with SWT.

>

I could not understand the above. Please explain.


Ok, I will try again. As we know, Swing does not use native controls, it
just paints what looks like controls over plain surface of native window,
which only provides the drawing context. The effect that I am talking about
is when you resize a dialog window in IDEA (this does not happen with editor
windows), only the underlying native window is resized, but Swing image is
not redrawn. Does it happen only on my system so you do not see it? So,
until I keep mouse captured, the window is not repainted. I resize the
window and I see native window being resized, and it has the color of the
current palette that I set for Windows. All this looks ugly.

As the least solution I would prefer that you change Windows window class
that is used to draw IDEA dialogs so it had the same color as IDEA Swing
interface. In this case native windows would not be so evident.

At the best, I would prefer, that Swing context would be redrawn while
window is being resized, not after it. You do it for editor windows, but not
for dialogs.

Michael Jouravlev.


0

which only provides the drawing context. The effect that I am talking

about

is when you resize a dialog window in IDEA (this does not happen with

editor

windows), only the underlying native window is resized, but Swing image is
not redrawn. Does it happen only on my system so you do not see it? So,
until I keep mouse captured, the window is not repainted. I resize the
window and I see native window being resized, and it has the color of the
current palette that I set for Windows. All this looks ugly.


Oh! Now I see what you mean. This is while I'm resizing it. Never noticed
that before. I'm not sure that it's easy to fix with swing...
And what I really cannot understand: how it's connected with New Project
Wizard?? I thought it's some bug related to only this wizard and so didn't
understand you at all.

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"

"Michael Jouravlev" <mikus@consultant.com> wrote in message
news:bp5ofp$abt$1@is.intellij.net...
>

"Valentin Kipiatkov (JetBrains)" <valentin@intellij.com> wrote in message
news:bp540u$19v$1@is.intellij.net...

How
can I switch from the wizard to normal dialog window, feature that is
standard for Windows wizards (I am on Win2000 and I like consistency

of

Windows interface).

>

What do you mean by "normal dialog" and how to switch Windows wizards to

it?

>

Ok, users cannot do this themselves, but most Windows programs which

provide

wizard-style dialogs allow their users to select between a Wizard and a
normal property sheet. Wizards usually are used at the beginning, and

later

when a user gets more accustomed to the application, wizards could be
replaced with standard tabbed dialogs. Basically, in Windows this is the
same kind of Property Sheet dialog, the major difference is the PSH_WIZARD
flag in PROPSHEETHEADER structure. Told you, I am more Windows programmer
that a Swing programmer ;) I just hope that Swing has similar features,

and

if it does not, well... Many Windows users still expect that any
Wizard-style dialog could be presented to them as a tabbed Property Sheet.

>

Now I have to select Target JDK. Nice small dialog, let me drag its

border.

Whoa, nice effect. I am not a big Swing programmer, but I would think

that

even with single-threaded Swing model it should be possible to track
MOUSE_DRAGGED or COMPONENT_RESIZED messages to repaint the window so

it

would not look that ugly when resized. I understand that this is

Swing,

not

the good old WinAPI, but is it possible at least to set underlying

window

color to match the color of the IDEA palette? Because during this

resizing

process I see native window underneath and it has the color of my

Windows

palette. Is it possible at least to create custom window class with a

color

matching IDEA color? No one uses 4-bit graphics anymore, this should

not

be

a problem. This is the example of what could be done better with SWT.

>

I could not understand the above. Please explain.

>

Ok, I will try again. As we know, Swing does not use native controls, it
just paints what looks like controls over plain surface of native window,
which only provides the drawing context. The effect that I am talking

about

is when you resize a dialog window in IDEA (this does not happen with

editor

windows), only the underlying native window is resized, but Swing image is
not redrawn. Does it happen only on my system so you do not see it? So,
until I keep mouse captured, the window is not repainted. I resize the
window and I see native window being resized, and it has the color of the
current palette that I set for Windows. All this looks ugly.

>

As the least solution I would prefer that you change Windows window class
that is used to draw IDEA dialogs so it had the same color as IDEA Swing
interface. In this case native windows would not be so evident.

>

At the best, I would prefer, that Swing context would be redrawn while
window is being resized, not after it. You do it for editor windows, but

not

for dialogs.

>

Michael Jouravlev.

>
>


0


"Valentin Kipiatkov (JetBrains)" <valentin@intellij.com> wrote in message
news:bp5ph9$es9$1@is.intellij.net...

which only provides the drawing context. The effect that I am talking

about

is when you resize a dialog window in IDEA (this does not happen with

editor

windows), only the underlying native window is resized, but Swing image

is

not redrawn. Does it happen only on my system so you do not see it? So,
until I keep mouse captured, the window is not repainted. I resize the
window and I see native window being resized, and it has the color of

the

current palette that I set for Windows. All this looks ugly.

>

Oh! Now I see what you mean. This is while I'm resizing it. Never

noticed

that before. I'm not sure that it's easy to fix with swing...
And what I really cannot understand: how it's connected with New Project
Wizard?? I thought it's some bug related to only this wizard and so didn't
understand you at all.


Well, no direct connection at all. I just wanted to discuss IDEA UI elements
window by window, so I started from the start ;) Not sure that I will get
to other dialogs :) but they behave the same in this sense. Sorry for all
the bashing.

Michael J.


0

Valentin Kipiatkov (JetBrains) wrote:

Oh! Now I see what you mean. This is while I'm resizing it. Never noticed
that before. I'm not sure that it's easy to fix with swing...



In the following test program you get the problem he mentioned:

package test;

import javax.swing.*;
import java.awt.*;

public class TestFrame
{
public static void main(String[] args) {
final JFrame fr = new JFrame("Test");
fr.setSize(100,100);
fr.getContentPane().setBackground(Color.RED);
//fr.setBackground(Color.RED);
fr.setVisible(true);
}
}

If you also set the color of the frame itself (the line that's commented
out) the background color is correct during resizing.

0

Please sign in to leave a comment.