CopperSpice Overview
KitchenSink Demo

KitchenSink is a standalone program which combines multiple demos in one executable. The purpose of KitchenSink is to demonstrate the capabilities and functionality of the CopperSpice libraries. These demos are basic examples and the code is intentionally simplistic and not optimized.

KitchenSink is built using the CMake build system. You must build CopperSpice with the same build tool used for KitchenSink. This applies to your applications as well.

Project Layout

The source distribution includes all source files, header files, and files for building with CMake.

  • Audio/Web
    • Camera
    • Music Player
    • Video Widget
    • HTML Viewer
  • Samples
    • Color Selector
    • Font Selector
    • Basic Drawing
    • International Translations
    • Standard Dialogs
    • Standard Paths
    • Style Sheets
    • XML
    • XML Patterns
  • Networking
    • Chat Messaging
    • SSL Client
  • Views
    • Table View
    • Tree View
    • List View
    • Table Widget
  • Widgets
    • Calendar
    • Line Edit
    • Sliders
    • Tabs, Radio Buttons, Checkboxes
  • Graphics
    • Analog Clock
    • Animated Tiles
    • Fridge Magnets
    • Lighting
    • Mandelbrot
    • Screen Shot

Click the following link to download the binary files or source code. KitchenSink

Building KitchenSink From Source

Before you build KitchenSink or any other CopperSpice project, you must either download the CopperSpice binary files or build and install from source. The "ninja install" step creates the appropriate folders for your platform and then copies the necessary files. You will typically see folders for bin, cmake, include, and lib.

The [path_to_copperspice] shown below is the path to the CopperSpice CMake files. On Windows, if you installed to /cs_lib then the value for this parameter would be /cs_lib/cmake/CopperSpice. On Unix systems the value for this parameter should be /cs_lib/lib/cmake/CopperSpice.

To configure, build, and install KitchenSink from source code use the following commands. The ninja install step KitchenSink creates the deploy folder where you then run the application. If you omit the install step the platform files will be missing and the program will not start correctly.

# configure
mkdir -p build
cd build
cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=[path_to_copperspice]
-DCMAKE_INSTALL_PREFIX=../deploy ..
# build and install
cd build
ninja install

KitchenSink Platform Specifics

  • Mac OS X
    • International Demo
      Selecting a new language changes the App name from KitchenSink to File. This is a known issue however users would normally not switch at run time to a different language.

    • MenuBar
      Occasionally the menu bar may lose the App Name and the File Menu can be blank. Other menu options may not work after this happens. The program can be closed from the title bar close button. This appears to occur after opening a sample which contains a menu on the child window. User applications which will be distributed for Mac OS X, child windows and menu bars may not be the preferred GUI style.