|
|
Home » Developing U++ » External resources » JUCE (widgets and library) GNU Public Licence
|
|
Re: JUCE (widgets and library) GNU Public Licence [message #7393 is a reply to message #7388] |
Tue, 26 December 2006 19:30 |
|
forlano
Messages: 1185 Registered: March 2006 Location: Italy
|
Senior Contributor |
|
|
captainc wrote on Tue, 26 December 2006 16:54 | Has anyone had the change to use JUCE? How is it? Any advantages/disadvantages from U++?
|
Hello,
just one disadvantage that I consider very big: if you do not intend to share your source code you need to pay a license. In U++ does not exist such limitation.
Luigi
[Updated on: Tue, 26 December 2006 19:32] Report message to a moderator
|
|
|
|
|
|
Re: JUCE (widgets and library) GNU Public Licence [message #7405 is a reply to message #7404] |
Wed, 27 December 2006 09:01 |
|
mirek
Messages: 13975 Registered: November 2005
|
Ultimate Member |
|
|
JUCE code:
class RatingColumnCustomComponent : public Component,
public ComboBoxListener
{
public:
RatingColumnCustomComponent (TableDemoComponent& owner_)
: owner (owner_)
{
// just put a combo box inside this component
addAndMakeVisible (comboBox = new ComboBox (String::empty));
comboBox->addItem (T("fab"), 1);
comboBox->addItem (T("groovy"), 2);
comboBox->addItem (T("hep"), 3);
comboBox->addItem (T("neat"), 4);
comboBox->addItem (T("wild"), 5);
comboBox->addItem (T("swingin"), 6);
comboBox->addItem (T("mad for it"), 7);
// when the combo is changed, we'll get a callback.
comboBox->addListener (this);
comboBox->setWantsKeyboardFocus (false);
}
~RatingColumnCustomComponent()
{
deleteAllChildren();
}
void resized()
{
comboBox->setBoundsInset (BorderSize (2));
}
// Our demo code will call this when we may need to update our contents
void setRowAndColumn (const int newRow, const int newColumn)
{
row = newRow;
columnId = newColumn;
comboBox->setSelectedId (owner.getRating (row, columnId), true);
}
void comboBoxChanged (ComboBox* comboBoxThatHasChanged)
{
owner.setRating (row, columnId, comboBox->getSelectedId());
}
private:
TableDemoComponent& owner;
ComboBox* comboBox;
int row, columnId;
};
Now this has all quirks we are trying to avoid. Why is comboBox allocated on the heap? Why should I test in comboBoxChanged which combobox did? - BTW the only purpose of this class seems to be to isolate particular combobox in the dialog. Why should I take care about "deleting all children" in destructor?
In U++, 50% of above code is unnecessary.
OTOH, of course, MacOS X is something JUCE has and U++ does not - something to add quickly...
|
|
|
Re: JUCE (widgets and library) GNU Public Licence [message #15503 is a reply to message #7405] |
Sun, 27 April 2008 00:18 |
|
Oooh pretty! It's got a lot of eye candy. It seems to be aimed more at a home user application, versus a business application for U++.
Here's my quick summary:
Pros:
1) Allows the use of the IDE you are comfortable with. VC6, VC8, or Codeblocks (Under Windows, I didn't try Linux).
2) Compiles cleanly under VC6, after a few small non-code changes (See below). Sorry, I'm a diehard VC6 user!
3) Has some unique controls (or it's pretty!):
a) The circular slider is pretty impressive.
b) The ability to have the tabs on the top, bottom, or either side is nice.
c) The resizable toolbar is nice.
d) Has a control that can be 'dragged onto the desktop'
Cons:
1) The licensing fee is expensive.
2) It doesn't compile cleanly on install (on Windows). The Juce_config.h file needs to be changed to not use the ASIO and Quicktime libraries. And, you need the Platform SDK. The March 2003 one worked fine. This is the last version that works with VC6.
3) The demo source code feels a lot more like standard Win32 style programming wrapped in C++, compared to U++.
I wonder if an application written using Juce would be less threating to a non-computer user than a U++ style program?
a3e77f341aa1d91d0388a0c8b786e8b5
[Updated on: Sun, 27 April 2008 06:15] Report message to a moderator
|
|
|
|
|
Re: JUCE (widgets and library) GNU Public Licence [message #15521 is a reply to message #15503] |
Mon, 28 April 2008 01:13 |
mrjt
Messages: 705 Registered: March 2007 Location: London
|
Contributor |
|
|
Just a few quick thoughts:
cdoty wrote on Sat, 26 April 2008 23:18 | 3) Has some unique controls (or it's pretty!):
a) The circular slider is pretty impressive.
b) The ability to have the tabs on the top, bottom, or either side is nice.
c) The resizable toolbar is nice.
d) Has a control that can be 'dragged onto the desktop'
|
a) This is actually trivial to implement. It's probably using a rotated semi-circle for the bar an otherwise it's almost identical to a normal slider. The other ones displayed are more interesting functionally, though of limited use.
b) You can do this in Upp already, see the TabBar package in Bazaar. It could use a little attention, but generally it's there.
c) I agree on that one. The current BarCtrl implementation is somewhat limited, and prevents some other advancements like moveable ToolBars.
d) It's only a popup . The impressive bit is that it's transparent, and if it works on X11 it might be adviseable to see what calls are being made. I'd really really like transparent popups in Upp!
Quote: | I wonder if an application written using Juce would be less threating to a non-computer user than a U++ style program?
|
It certainly looks very nice and stylish, but IMO it is a big problem not to support native-look. I would prefer the Upp approach of starting by fitting in the OS and allowing the developer to change it if desired. I think some thought could perhaps go into making this easier though, it's really quite difficult at the moment..
One more thing though. JUCE apparently supports all three platforms, which is a nice feature in these uncertain times. Is the MAC Upp port still underway?
James.
|
|
|
|
Re: JUCE (widgets and library) GNU Public Licence [message #15554 is a reply to message #15521] |
Tue, 29 April 2008 04:28 |
|
mrjt wrote on Sun, 27 April 2008 18:13 | It certainly looks very nice and stylish, but IMO it is a big problem not to support native-look. I would prefer the Upp approach of starting by fitting in the OS and allowing the developer to change it if desired. I think some thought could perhaps go into making this easier though, it's really quite difficult at the moment..
|
I agree, for a user that is comfortable with a computer. Nothing annoys an experienced user quicker than a oversimplified cute interface. But, I'm wondering if someone new to a computer would find the Juce style interface more inviting to play with?
a3e77f341aa1d91d0388a0c8b786e8b5
[Updated on: Tue, 29 April 2008 04:29] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Fri Apr 19 05:12:02 CEST 2024
Total time taken to generate the page: 0.01578 seconds
|
|
|