StringArray CURLManager::getSupportedProtocols() { if (curl_version_info_data* info = curl_version_info (CURLVERSION_NOW)) return StringArray (info->protocols); return StringArray(); }
int main(int argc, char *argv[]) { // The data for the pie chart double data[] = {72, 18, 15, 12}; // The depths for the sectors double depths[] = {30, 20, 10, 10}; // The labels for the pie chart const char *labels[] = {"Sunny", "Cloudy", "Rainy", "Snowy"}; // The icons for the sectors const char *icons[] = {"sun.png", "cloud.png", "rain.png", "snowy.png"}; // Create a PieChart object of size 400 x 300 pixels PieChart *c = new PieChart(400, 300); // Use the semi-transparent palette for this chart c->setColors(Chart::transparentPalette); // Set the background to metallic light blue (CCFFFF), with a black border and 1 // pixel 3D border effect, c->setBackground(Chart::metalColor(0xccccff), 0x000000, 1); // Set donut center at (200, 175), and outer/inner radii as 100/50 pixels c->setDonutSize(200, 175, 100, 50); // Add a title box using 15 pts Times Bold Italic font and metallic blue (8888FF) // background color c->addTitle("Weather Profile in Wonderland", "timesbi.ttf", 15)->setBackground( Chart::metalColor(0x8888ff)); // Set the pie data and the pie labels c->setData(DoubleArray(data, sizeof(data)/sizeof(data[0])), StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Add icons to the chart as a custom field c->addExtraField(StringArray(icons, sizeof(icons)/sizeof(icons[0]))); // Configure the sector labels using CDML to include the icon images c->setLabelFormat( "<*block,valign=absmiddle*><*img={field0}*> <*block*>{label}\n{percent}%" "<*/*><*/*>"); // Draw the pie in 3D with variable 3D depths c->set3D(DoubleArray(depths, sizeof(depths)/sizeof(depths[0]))); // Set the start angle to 225 degrees may improve layout when the depths of the // sector are sorted in descending order, because it ensures the tallest sector // is at the back. c->setStartAngle(225); // Output the chart c->makeChart("icondonut.png"); //free up resources delete c; return 0; }
// Reset for next plot void PlotAgent::reset() { // Clear storage titles = StringArray(); values = StringArray(); dims = IntArray(); ndim = 0; // Clear range x_min = y_min = v_min = +DBL_MAX; x_max = y_max = v_max = -DBL_MAX; need_reset = false; }
StringArray Directory::GetFilesInDirectory(LPCTSTR path, const bool& andSubdirectories) { size_t pathLength = 0; StringCchLength(path, MAX_PATH, &pathLength); ++pathLength; size_t pathToFilesLength = pathLength + 3; LPTSTR pathToFiles = new TCHAR[pathToFilesLength]; StringCchCopy(pathToFiles, pathLength, path); StringCchCat(pathToFiles, pathToFilesLength, TEXT("\\*")); WIN32_FIND_DATA findData; HANDLE findResult = FindFirstFile(pathToFiles, &findData); delete[] pathToFiles; if (findResult == INVALID_HANDLE_VALUE) return StringArray(); StringArray files; do { if (andSubdirectories || !(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { String file = findData.cFileName; files.insert(files.end(), file); } } while (FindNextFile(findResult, &findData)); FindClose(findResult); return files; }
bool OnlineUnlockStatus::applyKeyFile (String keyFileContent) { KeyFileUtils::KeyFileData data; data = KeyFileUtils::getDataFromKeyFile (KeyFileUtils::getXmlFromKeyFile (keyFileContent, getPublicKey())); if (data.licensee.isNotEmpty() && data.email.isNotEmpty() && doesProductIDMatch (data.appID)) { setUserEmail (data.email); status.setProperty (keyfileDataProp, keyFileContent, nullptr); status.removeProperty (data.keyFileExpires ? expiryTimeProp : unlockedProp, nullptr); var actualResult (0), dummyResult (1.0); var v (machineNumberAllowed (data.machineNumbers, getLocalMachineIDs())); actualResult.swapWith (v); v = machineNumberAllowed (StringArray ("01"), getLocalMachineIDs()); dummyResult.swapWith (v); jassert (! dummyResult); if (data.keyFileExpires) { if ((! dummyResult) && actualResult) status.setProperty (expiryTimeProp, data.expiryTime.toMilliseconds(), nullptr); return getExpiryTime().toMilliseconds() > 0; } if ((! dummyResult) && actualResult) status.setProperty (unlockedProp, actualResult, nullptr); return isUnlocked(); } return false; }
StringArray CURLEasySession::getDirectoryListing() { String remoteUrl (remotePath.upToLastOccurrenceOf ("/", true, false)); curl_easy_setopt (handle, CURLOPT_URL, remoteUrl.toUTF8().getAddress()); directoryContentsList.setSize (0); curl_easy_setopt (handle, CURLOPT_PROGRESSFUNCTION, 0L); curl_easy_setopt (handle, CURLOPT_UPLOAD, 0L); curl_easy_setopt (handle, CURLOPT_DIRLISTONLY, 1L); curl_easy_setopt (handle, CURLOPT_WRITEDATA, this); curl_easy_setopt (handle, CURLOPT_WRITEFUNCTION, directoryListingCallback); // perform the tranfer progress = 0.0f; CURLcode result = curl_easy_perform (handle); reset(); if (result == CURLE_OK) { StringArray list; list.addLines (directoryContentsList.toString().trim()); return list; } else { return StringArray (curl_easy_strerror (result)); } }
// the window main menu const StringArray VstPluginWindow::getMenuBarNames () { pluginMenuNames.clear(); ourMenuNames.clear(); combinedMenuNames.clear(); // does our plugin want to add some menus? if (specialEditor) specialEditor->getMenuBarNames(pluginMenuNames); // now our menus const tchar* const names[] = { CommandCategories::presets, CommandCategories::options, 0 }; ourMenuNames = StringArray((const tchar**) names); // and merge the arrays, so common items collapse to one menu combinedMenuNames = pluginMenuNames; combinedMenuNames.addArray(ourMenuNames); combinedMenuNames.removeDuplicates(true); return combinedMenuNames; }
static StringArray getBluetoothMidiDevicesNearby() { StringArray retval; JNIEnv* env = getEnv(); LocalRef<jobject> btManager (android.activity.callObjectMethod (JuceAppActivity.getAndroidBluetoothManager)); // if this is null then bluetooth is not enabled if (btManager.get() == nullptr) return StringArray(); jobjectArray jDevices = (jobjectArray) env->CallObjectMethod (btManager.get(), AndroidBluetoothManager.getMidiBluetoothAddresses); LocalRef<jobjectArray> devices (jDevices); const int count = env->GetArrayLength (devices.get()); for (int i = 0; i < count; ++i) { LocalRef<jstring> string ((jstring) env->GetObjectArrayElement (devices.get(), i)); retval.add (juceString (string)); } return retval; }
int main(int argc, char *argv[]) { // The data for the pyramid chart double data[] = {156, 123, 211, 179}; // The labels for the pyramid chart const char *labels[] = {"Funds", "Bonds", "Stocks", "Cash"}; // Create a PyramidChart object of size 360 x 360 pixels PyramidChart *c = new PyramidChart(360, 360); // Set the pyramid center at (180, 180), and width x height to 150 x 180 pixels c->setPyramidSize(180, 180, 150, 300); // Set the pyramid data and labels c->setData(DoubleArray(data, (int)(sizeof(data) / sizeof(data[0]))), StringArray(labels, (int)( sizeof(labels) / sizeof(labels[0])))); // Add labels at the center of the pyramid layers using Arial Bold font. The labels will have // two lines showing the layer name and percentage. c->setCenterLabel("{label}\n{percent}%", "arialbd.ttf"); // Output the chart c->makeChart("simplepyramid.png"); //free up resources return 0; }
void OnlineUnlockStatus::load() { MemoryBlock mb; mb.fromBase64Encoding (getState()); if (mb.getSize() > 0) status = ValueTree::readFromGZIPData (mb.getData(), mb.getSize()); else status = ValueTree (stateTagName); StringArray localMachineNums (getLocalMachineIDs()); if (machineNumberAllowed (StringArray ("1234"), localMachineNums)) status.removeProperty (unlockedProp, nullptr); KeyFileUtils::KeyFileData data; data = KeyFileUtils::getDataFromKeyFile (KeyFileUtils::getXmlFromKeyFile (status[keyfileDataProp], getPublicKey())); if (data.keyFileExpires) { if (! doesProductIDMatch (data.appID)) status.removeProperty (expiryTimeProp, nullptr); if (! machineNumberAllowed (data.machineNumbers, localMachineNums)) status.removeProperty (expiryTimeProp, nullptr); } else { if (! doesProductIDMatch (data.appID)) status.removeProperty (unlockedProp, nullptr); if (! machineNumberAllowed (data.machineNumbers, localMachineNums)) status.removeProperty (unlockedProp, nullptr); } }
void ProjectExporter::BuildConfiguration::createPropertyEditors (PropertyListBuilder& props) { props.add (new TextPropertyComponent (getNameValue(), "Name", 96, false), "The name of this configuration."); props.add (new BooleanPropertyComponent (isDebugValue(), "Debug mode", "Debugging enabled"), "If enabled, this means that the configuration should be built with debug synbols."); static const char* optimisationLevels[] = { "No optimisation", "Minimise size", "Maximise speed", 0 }; const int optimisationLevelValues[] = { optimisationOff, optimiseMinSize, optimiseMaxSpeed, 0 }; props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", StringArray (optimisationLevels), Array<var> (optimisationLevelValues)), "The optimisation level for this configuration"); props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false), "The filename to use for the destination binary executable file. If you don't add a suffix to this name, " "a suitable platform-specific suffix will be added automatically."); props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false), "The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed " "in its default location in the build folder."); props.addSearchPathProperty (getHeaderSearchPathValue(), "Header search paths", "Extra header search paths."); props.addSearchPathProperty (getLibrarySearchPathValue(), "Extra library search paths", "Extra library search paths."); props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, true), "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); createConfigProperties (props); props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); }
void ProjectSettings::_translation_res_add(const String& p_path){ Variant prev; Dictionary remaps; if (Globals::get_singleton()->has("locale/translation_remaps")) { remaps = Globals::get_singleton()->get("locale/translation_remaps"); prev=remaps; } if (remaps.has(p_path)) return; //pointless already has it remaps[p_path]=StringArray(); undo_redo->create_action("Add Remapped Path"); undo_redo->add_do_property(Globals::get_singleton(),"locale/translation_remaps",remaps); undo_redo->add_do_method(Globals::get_singleton(),"set_persisting","locale/translation_remaps",true); undo_redo->add_undo_property(Globals::get_singleton(),"locale/translation_remaps",prev); undo_redo->add_do_method(this,"_update_translations"); undo_redo->add_undo_method(this,"_update_translations"); undo_redo->add_do_method(this,"_settings_changed"); undo_redo->add_undo_method(this,"_settings_changed"); undo_redo->commit_action(); }
int main(int argc, char *argv[]) { // The data for the pie chart double data[] = {25, 18, 15, 12, 8, 30, 35}; // The labels for the pie chart const char *labels[] = {"Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities", "Production"}; // Create a PieChart object of size 360 x 300 pixels PieChart *c = new PieChart(360, 300); // Set the center of the pie at (180, 140) and the radius to 100 pixels c->setPieSize(180, 140, 100); // Set the pie data and the pie labels c->setData(DoubleArray(data, sizeof(data)/sizeof(data[0])), StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Output the chart c->makeChart("simplepie.png"); //free up resources delete c; return 0; }
int main(int argc, char *argv[]) { // The data for the line chart double data[] = {30, 28, 40, 55, 75, 68, 54, 60, 50, 62, 75, 65, 75, 91, 60, 55, 53, 35, 50, 66, 56, 48, 52, 65, 62}; // The labels for the line chart const char *labels[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"}; // Create a XYChart object of size 250 x 250 pixels XYChart *c = new XYChart(250, 250); // Set the plotarea at (30, 20) and of size 200 x 200 pixels c->setPlotArea(30, 20, 200, 200); // Add a line chart layer using the given data c->addLineLayer(DoubleArray(data, sizeof(data)/sizeof(data[0]))); // Set the labels on the x axis. c->xAxis()->setLabels(StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Display 1 out of 3 labels on the x-axis. c->xAxis()->setLabelStep(3); // output the chart c->makeChart("simpleline.png"); //free up resources delete c; return 0; }
int main(int argc, char *argv[]) { // The data for the bar chart double data[] = {450, 560, 630, 800, 1100, 1350, 1600, 1950, 2300, 2700}; // The labels for the bar chart const char *labels[] = {"1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005"}; // Create a XYChart object of size 600 x 380 pixels. Set background color to // brushed silver, with a 2 pixel 3D border. Use rounded corners of 20 pixels // radius. XYChart *c = new XYChart(600, 380, Chart::brushedSilverColor(), Chart::Transparent, 2); // Add a title to the chart using 18pts Times Bold Italic font. Set top/bottom // margins to 8 pixels. c->addTitle("Annual Revenue for Star Tech", "timesbi.ttf", 18)->setMargin(0, 0, 8, 8); // Set the plotarea at (70, 55) and of size 460 x 280 pixels. Use transparent // border and black grid lines. Use rounded frame with radius of 20 pixels. c->setPlotArea(70, 55, 460, 280, -1, -1, Chart::Transparent, 0x000000); c->setRoundedFrame(0xffffff, 20); // Add a multi-color bar chart layer using the supplied data. Set cylinder bar // shape. c->addBarLayer(DoubleArray(data, sizeof(data)/sizeof(data[0])), IntArray(0, 0) )->setBarShape(Chart::CircleShape); // Set the labels on the x axis. c->xAxis()->setLabels(StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Show the same scale on the left and right y-axes c->syncYAxis(); // Set the left y-axis and right y-axis title using 10pt Arial Bold font c->yAxis()->setTitle("USD (millions)", "arialbd.ttf", 10); c->yAxis2()->setTitle("USD (millions)", "arialbd.ttf", 10); // Set y-axes to transparent c->yAxis()->setColors(Chart::Transparent); c->yAxis2()->setColors(Chart::Transparent); // Disable ticks on the x-axis by setting the tick color to transparent c->xAxis()->setTickColor(Chart::Transparent); // Set the label styles of all axes to 8pt Arial Bold font c->xAxis()->setLabelStyle("arialbd.ttf", 8); c->yAxis()->setLabelStyle("arialbd.ttf", 8); c->yAxis2()->setLabelStyle("arialbd.ttf", 8); // Output the chart c->makeChart("cylinderlightbar.jpg"); //free up resources delete c; return 0; }
StringArray UIComponent::getMenuBarNames() { const char* const names[] = { "File", "Edit", "View", "Help", 0 }; return StringArray(names); }
int main(int argc, char *argv[]) { // The data for the area chart double data[] = {3.0, 2.8, 4.0, 5.5, 7.5, 6.8, 5.4, 6.0, 5.0, 6.2, 7.5, 6.5, 7.5, 8.1, 6.0, 5.5, 5.3, 3.5, 5.0, 6.6, 5.6, 4.8, 5.2, 6.5, 6.2}; // The labels for the area chart const char *labels[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"}; // Create a XYChart object of size 300 x 180 pixels. Set the background to pale // yellow (0xffffa0) with a black border (0x0) XYChart *c = new XYChart(300, 180, 0xffffa0, 0x000000); // Set the plotarea at (45, 35) and of size 240 x 120 pixels. Set the background // to white (0xffffff). Set both horizontal and vertical grid lines to black // (&H0&) dotted lines (pattern code 0x0103) c->setPlotArea(45, 35, 240, 120, 0xffffff, -1, -1, c->dashLineColor(0x000000, 0x000103), c->dashLineColor(0x000000, 0x000103)); // Add a title to the chart using 10 pts Arial Bold font. Use a 1 x 2 bitmap // pattern as the background. Set the border to black (0x0). int pattern1[] = {0xb0b0f0, 0xe0e0ff}; c->addTitle("Snow Percipitation (Dec 12)", "arialbd.ttf", 10)->setBackground( c->patternColor(IntArray(pattern1, sizeof(pattern1)/sizeof(pattern1[0])), 2), 0x000000); // Add a title to the y axis c->yAxis()->setTitle("mm per hour"); // Set the labels on the x axis. c->xAxis()->setLabels(StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Display 1 out of 3 labels on the x-axis. c->xAxis()->setLabelStep(3); // Add an area layer to the chart AreaLayer *layer = c->addAreaLayer(); // Load a snow pattern from an external file "snow.png". int snowPattern = c->patternColor("snow.png"); // Add a data set to the area layer using the snow pattern as the fill color. Use // deep blue (0x0000ff) as the area border line color (&H0000ff&) layer->addDataSet(DoubleArray(data, sizeof(data)/sizeof(data[0])))->setDataColor( snowPattern, 0x0000ff); // Set the line width to 2 pixels to highlight the line layer->setLineWidth(2); // output the chart c->makeChart("patternarea.png"); //free up resources delete c; return 0; }
int main(int argc, char *argv[]) { // The data for the chart double data0[] = {100, 100, 100, 100, 100}; double data1[] = {90, 85, 85, 80, 70}; double data2[] = {80, 65, 65, 75, 45}; // The labels for the chart const char *labels[] = {"Population<*br*><*font=arial.ttf*>6 millions", "GDP<*br*><*font=arial.ttf*>120 billions", "Export<*br*><*font=arial.ttf*>25 billions", "Import<*br*><*font=arial.ttf*>24 billions", "Investments<*br*><*font=arial.ttf*>20 billions"}; // Create a PolarChart object of size 480 x 460 pixels. Set background color to silver, with 1 // pixel 3D border effect PolarChart *c = new PolarChart(480, 460, Chart::silverColor(), 0x000000, 1); // Add a title to the chart using 15pt Times Bold Italic font. The title text is white (ffffff) // on a deep green (008000) background c->addTitle("Economic Growth", "timesbi.ttf", 15, 0xffffff)->setBackground(0x008000); // Set plot area center at (240, 270), with 150 pixels radius c->setPlotArea(240, 270, 150); // Use 1 pixel width semi-transparent black (c0000000) lines as grid lines c->setGridColor(0xc0000000, 1, 0xc0000000, 1); // Add a legend box at top-center of plot area (240, 35) using horizontal layout. Use 10pt Arial // Bold font, with silver background and 1 pixel 3D border effect. LegendBox *b = c->addLegend(240, 35, false, "arialbd.ttf", 10); b->setAlignment(Chart::TopCenter); b->setBackground(Chart::silverColor(), Chart::Transparent, 1); // Add area layers of different colors to represent the data c->addAreaLayer(DoubleArray(data0, (int)(sizeof(data0) / sizeof(data0[0]))), 0xcc8880, "Year 2004"); c->addAreaLayer(DoubleArray(data1, (int)(sizeof(data1) / sizeof(data1[0]))), 0xffd080, "Year 1994"); c->addAreaLayer(DoubleArray(data2, (int)(sizeof(data2) / sizeof(data2[0]))), 0xa0bce0, "Year 1984"); // Set the labels to the angular axis as spokes. c->angularAxis()->setLabels(StringArray(labels, (int)(sizeof(labels) / sizeof(labels[0])))); // Set radial axis from 0 - 100 with a tick every 20 units c->radialAxis()->setLinearScale(0, 100, 20); // Just show the radial axis as a grid line. Hide the axis labels by setting the label color to // Transparent c->radialAxis()->setColors(0xc0000000, Chart::Transparent); // Output the chart c->makeChart("stackradar.png"); //free up resources delete c; return 0; }
void createChart(int img, const char *filename) { // The data for the pie chart double data[] = {25, 18, 15, 12, 8, 30, 35}; // The labels for the pie chart const char *labels[] = {"Labor", "Licenses", "Taxes", "Legal", "Insurance", "Facilities", "Production"}; // Colors of the sectors if custom coloring is used int colors[] = {0xb8bc9c, 0xecf0b9, 0x999966, 0x333366, 0xc3c3e6, 0x594330, 0xa0bdc4}; // Create a PieChart object of size 280 x 240 pixels PieChart *c = new PieChart(280, 240); // Set the center of the pie at (140, 120) and the radius to 80 pixels c->setPieSize(140, 120, 80); // Draw the pie in 3D c->set3D(); // Set the coloring schema if (img == 0) { c->addTitle("Custom Colors"); // set the LineColor to light gray c->setColor(Chart::LineColor, 0xc0c0c0); // use given color array as the data colors (sector colors) c->setColors(Chart::DataColor, IntArray(colors, sizeof(colors)/sizeof(colors[0]))); } else if (img == 1) { c->addTitle("Dark Background Colors"); // use the standard white on black palette c->setColors(Chart::whiteOnBlackPalette); } else if (img == 2) { c->addTitle("Wallpaper As Background"); c->setWallpaper("bg.png"); } else { c->addTitle("Transparent Colors"); c->setWallpaper("bg.png"); // use semi-transparent colors to allow the background to be seen c->setColors(Chart::transparentPalette); } // Set the pie data and the pie labels c->setData(DoubleArray(data, sizeof(data)/sizeof(data[0])), StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Explode the 1st sector (index = 0) c->setExplode(0); // output the chart c->makeChart(filename); //free up resources delete c; }
int main(int argc, char *argv[]) { // The data for the pie chart double data[] = {35, 30, 25, 7, 6, 5, 4, 3, 2, 1}; // The labels for the pie chart const char *labels[] = {"Labor", "Production", "Facilities", "Taxes", "Misc", "Legal", "Insurance", "Licenses", "Transport", "Interest"}; // Create a PieChart object of size 560 x 270 pixels, with a golden background // and a 1 pixel 3D border PieChart *c = new PieChart(560, 270, Chart::goldColor(), -1, 1); // Add a title box using 15 pts Times Bold Italic font and metallic pink // background color c->addTitle("Project Cost Breakdown", "timesbi.ttf", 15)->setBackground( Chart::metalColor(0xff9999)); // Set the center of the pie at (280, 135) and the radius to 110 pixels c->setPieSize(280, 135, 110); // Draw the pie in 3D with 20 pixels 3D depth c->set3D(20); // Use the side label layout method c->setLabelLayout(Chart::SideLayout); // Set the label box background color the same as the sector color, with glass // effect, and with 5 pixels rounded corners TextBox *t = c->setLabelStyle(); t->setBackground(Chart::SameAsMainColor, Chart::Transparent, Chart::glassEffect() ); t->setRoundedCorners(5); // Set the border color of the sector the same color as the fill color. Set the // line color of the join line to black (0x0) c->setLineColor(Chart::SameAsMainColor, 0x000000); // Set the start angle to 135 degrees may improve layout when there are many // small sectors at the end of the data array (that is, data sorted in descending // order). It is because this makes the small sectors position near the // horizontal axis, where the text label has the least tendency to overlap. For // data sorted in ascending order, a start angle of 45 degrees can be used // instead. c->setStartAngle(135); // Set the pie data and the pie labels c->setData(DoubleArray(data, sizeof(data)/sizeof(data[0])), StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Output the chart c->makeChart("sidelabelpie.png"); //free up resources delete c; return 0; }
PopupMenu BuildMenuBarItem::createPopupMenu() { static const char* const items[] = { NEEDS_TRANS("Build Project"), nullptr }; return createPopupMenuWithItems (StringArray (items)); }
PopupMenu ViewMenuBarItem::createPopupMenu() { static const char* const items[] = { NEEDS_TRANS("Error List"), NEEDS_TRANS("Output"), nullptr }; return createPopupMenuWithItems (StringArray (items)); }
//============================================================================== // the window main menu const StringArray HostFilterComponent::getMenuBarNames () { const tchar* const names[] = { CommandCategories::file, CommandCategories::audio, CommandCategories::about, 0 }; return StringArray ((const tchar**) names); }
int main(int argc, char *argv[]) { // The data for the area chart double data0[] = {42, 49, 33, 38, 51, 46, 29, 41, 44, 57, 59, 52, 37, 34, 51, 56, 56, 60, 70, 76, 63, 67, 75, 64, 51}; double data1[] = {50, 45, 47, 34, 42, 49, 63, 62, 73, 59, 56, 50, 64, 60, 67, 67, 58, 59, 73, 77, 84, 82, 80, 84, 89}; double data2[] = {61, 79, 85, 66, 53, 39, 24, 21, 37, 56, 37, 22, 21, 33, 13, 17, 4, 23, 16, 25, 9, 10, 5, 7, 16}; const char *labels[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24"}; // Create a XYChart object of size 500 x 300 pixels XYChart *c = new XYChart(500, 300); // Set the plotarea at (90, 30) and of size 300 x 240 pixels. c->setPlotArea(90, 30, 300, 240); // Add a legend box at (405, 100) c->addLegend(405, 100); // Add a title to the chart c->addTitle("Daily System Load"); // Add a title to the y axis. Draw the title upright (font angle = 0) c->yAxis()->setTitle("Database\nQueries\n(per sec)")->setFontAngle(0); // Set the labels on the x axis. c->xAxis()->setLabels(StringArray(labels, (int)(sizeof(labels) / sizeof(labels[0])))); // Display 1 out of 2 labels on the x-axis. Show minor ticks for remaining labels. c->xAxis()->setLabelStep(2, 1); // Add an area layer AreaLayer *layer = c->addAreaLayer(); // Draw the area layer in 3D layer->set3D(); // Add the three data sets to the area layer layer->addDataSet(DoubleArray(data0, (int)(sizeof(data0) / sizeof(data0[0]))), -1, "Server # 1") ; layer->addDataSet(DoubleArray(data1, (int)(sizeof(data1) / sizeof(data1[0]))), -1, "Server # 2") ; layer->addDataSet(DoubleArray(data2, (int)(sizeof(data2) / sizeof(data2[0]))), -1, "Server # 3") ; // Output the chart c->makeChart("threedstackarea.png"); //free up resources delete c; return 0; }
const StringArray UIComponent::getMenuBarNames() { // StringArray names; // names.add("File"); // names.add("Edit"); // names.add("Help"); const char* const names[] = { "File", "Edit", "View", "Help", 0 }; return StringArray (names); }
void Project::BuildConfiguration::createPropertyEditors (Array <PropertyComponent*>& props) { props.add (new TextPropertyComponent (getName(), "Name", 96, false)); props.getLast()->setTooltip ("The name of this configuration."); props.add (new BooleanPropertyComponent (isDebug(), "Debug mode", "Debugging enabled")); props.getLast()->setTooltip ("If enabled, this means that the configuration should be built with debug synbols."); const char* optimisationLevels[] = { "No optimisation", "Optimise for size and speed", "Optimise for maximum speed", 0 }; const int optimisationLevelValues[] = { 1, 2, 3, 0 }; props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", StringArray (optimisationLevels), Array<var> (optimisationLevelValues))); props.getLast()->setTooltip ("The optimisation level for this configuration"); props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false)); props.getLast()->setTooltip ("The filename to use for the destination binary executable file. Don't add a suffix to this, because platform-specific suffixes will be added for each target platform."); props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false)); props.getLast()->setTooltip ("The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed in its default location in the build folder."); props.add (new TextPropertyComponent (getHeaderSearchPath(), "Header search path", 16384, false)); props.getLast()->setTooltip ("Extra header search paths. Use semi-colons to separate multiple paths."); props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, false)); props.getLast()->setTooltip ("Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace or commas to separate the items - to include a space or comma in a definition, precede it with a backslash."); if (getMacSDKVersion().toString().isEmpty()) getMacSDKVersion() = osxVersionDefault; const char* osxVersions[] = { "Use Default", osxVersion10_4, osxVersion10_5, osxVersion10_6, 0 }; const char* osxVersionValues[] = { osxVersionDefault, osxVersion10_4, osxVersion10_5, osxVersion10_6, 0 }; props.add (new ChoicePropertyComponent (getMacSDKVersion(), "OSX Base SDK Version", StringArray (osxVersions), Array<var> (osxVersionValues))); props.getLast()->setTooltip ("The version of OSX to link against in the XCode build."); if (getMacCompatibilityVersion().toString().isEmpty()) getMacCompatibilityVersion() = osxVersionDefault; props.add (new ChoicePropertyComponent (getMacCompatibilityVersion(), "OSX Compatibility Version", StringArray (osxVersions), Array<var> (osxVersionValues))); props.getLast()->setTooltip ("The minimum version of OSX that the target binary will be compatible with."); const char* osxArch[] = { "Use Default", "Native architecture of build machine", "Universal Binary (32-bit)", "Universal Binary (64-bit)", "64-bit Intel", 0 }; const char* osxArchValues[] = { osxArch_Default, osxArch_Native, osxArch_32BitUniversal, osxArch_64BitUniversal, osxArch_64Bit, 0 }; if (getMacArchitecture().toString().isEmpty()) getMacArchitecture() = osxArch_Default; props.add (new ChoicePropertyComponent (getMacArchitecture(), "OSX Architecture", StringArray (osxArch), Array<var> (osxArchValues))); props.getLast()->setTooltip ("The type of OSX binary that will be produced."); for (int i = props.size(); --i >= 0;) props.getUnchecked(i)->setPreferredHeight (22); }
int main(int argc, char *argv[]) { // The data for the line chart double data0[] = {60.2, 51.7, 81.3, 48.6, 56.2, 68.9, 52.8}; double data1[] = {30.0, 32.7, 33.9, 29.5, 32.2, 28.4, 29.8}; const char *labels[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // Create a XYChart object of size 300 x 180 pixels, with a pale yellow (0xffffc0) background, a // black border, and 1 pixel 3D border effect. XYChart *c = new XYChart(300, 180, 0xffffc0, 0x000000, 1); // Set the plotarea at (45, 35) and of size 240 x 120 pixels, with white background. Turn on // both horizontal and vertical grid lines with light grey color (0xc0c0c0) c->setPlotArea(45, 35, 240, 120, 0xffffff, -1, -1, 0xc0c0c0, -1); // Add a legend box at (45, 12) (top of the chart) using horizontal layout and 8pt Arial font // Set the background and border color to Transparent. c->addLegend(45, 12, false, "", 8)->setBackground(Chart::Transparent); // Add a title to the chart using 9pt Arial Bold/white font. Use a 1 x 2 bitmap pattern as the // background. int pattern1[] = {0x004000, 0x008000}; c->addTitle("Server Load (Jun 01 - Jun 07)", "arialbd.ttf", 9, 0xffffff)->setBackground( c->patternColor(IntArray(pattern1, (int)(sizeof(pattern1) / sizeof(pattern1[0]))), 2)); // Set the y axis label format to nn% c->yAxis()->setLabelFormat("{value}%"); // Set the labels on the x axis c->xAxis()->setLabels(StringArray(labels, (int)(sizeof(labels) / sizeof(labels[0])))); // Add a line layer to the chart LineLayer *layer = c->addLineLayer(); // Add the first line. Plot the points with a 7 pixel square symbol layer->addDataSet(DoubleArray(data0, (int)(sizeof(data0) / sizeof(data0[0]))), 0xcf4040, "Peak" )->setDataSymbol(Chart::SquareSymbol, 7); // Add the second line. Plot the points with a 9 pixel dismond symbol layer->addDataSet(DoubleArray(data1, (int)(sizeof(data1) / sizeof(data1[0]))), 0x40cf40, "Average")->setDataSymbol(Chart::DiamondSymbol, 9); // Enable data label on the data points. Set the label format to nn%. layer->setDataLabelFormat("{value|0}%"); // Output the chart c->makeChart("symbolline.png"); //free up resources delete c; return 0; }
StringArray JUCE_CALLTYPE JUCEApplicationBase::getCommandLineParameterArray() { StringArray s; int argc = 0; if (auto argv = CommandLineToArgvW (GetCommandLineW(), &argc)) { s = StringArray (argv + 1, argc - 1); LocalFree (argv); } return s; }
int main(int argc, char *argv[]) { // The data for the bar chart double data0[] = {100, 125, 156, 147, 87, 124, 178, 109, 140, 106, 192, 122}; double data1[] = {122, 156, 179, 211, 198, 177, 160, 220, 190, 188, 220, 270}; double data2[] = {167, 190, 213, 267, 250, 320, 212, 199, 245, 267, 240, 310}; const char *labels[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"}; // Create a XYChart object of size 580 x 280 pixels XYChart *c = new XYChart(580, 280); // Add a title to the chart using 14 pts Arial Bold Italic font c->addTitle("Product Revenue For Last 3 Years", "arialbi.ttf", 14); // Set the plot area at (50, 50) and of size 500 x 200. Use two alternative // background colors (f8f8f8 and ffffff) c->setPlotArea(50, 50, 500, 200, 0xf8f8f8, 0xffffff); // Add a legend box at (50, 25) using horizontal layout. Use 8pts Arial as font, // with transparent background. c->addLegend(50, 25, false, "arial.ttf", 8)->setBackground(Chart::Transparent); // Set the x axis labels c->xAxis()->setLabels(StringArray(labels, sizeof(labels)/sizeof(labels[0]))); // Draw the ticks between label positions (instead of at label positions) c->xAxis()->setTickOffset(0.5); // Add a multi-bar layer with 3 data sets BarLayer *layer = c->addBarLayer(Chart::Side); layer->addDataSet(DoubleArray(data0, sizeof(data0)/sizeof(data0[0])), 0xff8080, "Year 2003"); layer->addDataSet(DoubleArray(data1, sizeof(data1)/sizeof(data1[0])), 0x80ff80, "Year 2004"); layer->addDataSet(DoubleArray(data2, sizeof(data2)/sizeof(data2[0])), 0x8080ff, "Year 2005"); // Set 50% overlap between bars layer->setOverlapRatio(0.5); // Add a title to the y-axis c->yAxis()->setTitle("Revenue (USD in millions)"); // output the chart c->makeChart("overlapbar.png"); //free up resources delete c; return 0; }
static StringArray getTestsList() { const char* tests[] = { "Add Pair Stress Test", "Apply Force", "Dominoes", "Chain" }; jassert (numElementsInArray (tests) == numTests); return StringArray (tests, numElementsInArray (tests)); }