ColourSelectorWithPalette component

This is an ‘enhanced’ ColourSelector. It is a component which contains a standard JUCE ColourSelector component and a new ‘ColourPalette’ component.

The two components are aligned depending on the main component’s parameters:

topBottomSplit : boolean value; if true, the palette will be placed above the selector, else it will be positioned to the left. [default:TRUE]

paletteProportion: float; this determines how much of the component is taken up by the palette [default:0.2f]

you don’t have to worry about the dimensions of the palette itself; if you set it to be 20wide and 3high and yet you set it with a horizontal split (down the side) it will automatically rotate the palette by itself so it fits more sensibly.

here are some examples of how it looks:

example1: 300x350, 10x3 palette, top/bottom split, 0.2 palette proportion

example2: 300x280, 10x1 palette, left/right split, 0.1 palette proportion

download the .ZIP archive; this was created in VC++express; there is a test dialog application code file included, so if you create a new blank project and simply add all the files in this zip it should compile with a test dialog.

there are still plenty of ways this could be improved, but hopefully this is of some use to someone? make sure you #include “ColourSelectorWithPalette.h” to use it in a project.

credit to haydxn, jtxx000 and jules

Tsk tsk


Your not allowed to distribute anything built with VC++ Express!

Like I really care. Nice one mate, might find a use for that.


Though I suppose source codes OK now that I think about it. Bit slow at moment. Finished work and drinking beer.


Could you point out where this is stated in the eula or docs? I didn’t see any limitations other than for the redistributables such as MFC, ATL, etc. Which normally aren’t part of a JUCE application.

My mistake. They appear to have a “Go Live” lisence available now.

FAQ used to say…

  • There is no “Go live license” for this release. That means you cannot publicly deploy any applications you create with the beta. This is for testing and evaluation purposes only.

now says…

so carry on…

The relevant portion of the GoLive license is copied below. Doesn’t look encouraging to me. I’m probably breaking some law by posting it here. Bleh, I don’t care fuck 'em.

Points of concern:

–visible notice to users “app relies on…software that may not operate correctly” Doesn’t exactly engender confidence in one’s work product, does it? Oh, wait, doesn’t say legible, just visible, you could render it in, say, 4 point cyrillic or webdings.

–license terminates on May 1, 2006 or 30 days after commercial release. And what happens to all the copies you distributed under the license? Do they suddenly become crippled due to runtime library “features”? Only MS knows for sure.

  1. External Deployment of Applications.

4.1 Recipient may not distribute any portion of the Pre-Release Software, including without limitation the Targets, to any third parties.

4.2 Subject to Recipient’s compliance with the terms and conditions of this Supplemental License, Recipient may, at Recipient’s sole discretion and risk:

  1. install the applicable Targets on Recipient’s servers residing on Recipient’s premises for the purpose of deploying web applications on such server whereby such web applications may be accessed by third parties over the Internet; and
  2. distribute Recipient’s applications that were developed using Pre-Release Software to third parties.

4.3 If Recipient elects to exercise the rights under Section 4.2 above with respect to Recipient’s applications (“Applications”), Recipient shall in addition to its compliance with the other requirements described in this Supplemental License, comply with the following:

  1. Recipient shall include in such Applications a visible notice to its users that the Application relies on pre-release, time sensitive, unsupported software that may not operate correctly;

  2. To the extent that Recipient’s Applications are distributed to its customers and such Applications require that a Target be installed on the customer’s machine, Recipient shall include with the Application a visible notice that the Application does not include the applicable Target and the user will need to obtain pre-release copies of the relevant Target directly from Microsoft;

  3. Recipient shall not use Microsoft’s name, logo, or trademarks to market its Applications; and

  4. Recipient will not make any representation, warranty, or promise on behalf of Microsoft or with respect to the Applications or performance thereof.

  5. Term of License Agreements. The term of each of the License Agreements is extended to terminate without notice upon the earlier of (i) May 1, 2006 or (ii) thirty (30) days after commercial release of the respective Pre-Release Software, unless terminated earlier pursuant to notice by Microsoft as provided in such License Agreement.