本文整理汇总了C++中AlertWindow类的典型用法代码示例。如果您正苦于以下问题:C++ AlertWindow类的具体用法?C++ AlertWindow怎么用?C++ AlertWindow使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了AlertWindow类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setModal
void About::aboutInit()
{
setModal(true);
resize(400, 400);
setWindowTitle("About");
setWindowIcon(QIcon("icons/backupsoft.png"));
QWidget *icon = new QWidget(this);
icon->setStyleSheet("background-image: url(icons/backupsoft.png)");
icon->setGeometry(250 , 10, 100, 100);
QLabel *title = new QLabel("BackupSoft", this);
title->setFont(QFont("Helvetica", 25, 10, false));
title->setGeometry(10, 10, 200, 30);
QLabel *version = new QLabel("Copyright 2010 by\nMichael Kohler and Fabian Gammenthaler\n\nVersion: 1.0", this);
version->setFont(QFont("Helvetica", 8, 2, false));
version->setGeometry(10, 70, 200, 55);
QTextEdit *licence = new QTextEdit(this);
licence->setGeometry(10, 160, 380, 230);
licence->setReadOnly(true);
QFile *file = new QFile("licence.txt");
if (file->open(QIODevice::ReadOnly)) {
QTextStream *stream = new QTextStream(file);
licence->setText(stream->readAll());
}
else {
QString errorMsg = "Could not open licence.txt.. Please make sure it is existent and readable.";
AlertWindow *alertWin = new AlertWindow("ERROR", "", errorMsg);
alertWin->show();
}
}
示例2: QFile
QStringList* Helper::readFile(QString aFileName)
{
// read the data line by line
QFile *file = new QFile(aFileName);
QStringList *data = new QStringList();
if (file->open(QIODevice::ReadOnly) ) {
// file opened successfully
QTextStream *tstream = new QTextStream(file);
while (!tstream->atEnd()) {
data->append(tstream->readLine());
}
file->close();
// ignore whitespaces
for (int i = 0; i < data->length(); i++) {
if (data->value(i) == "") {
data->removeAt(i);
}
}
}
else {
QString msg = tr("Could not open %1.. Please make sure it is existent and readable.").arg(aFileName);
AlertWindow *alertWin = new AlertWindow("ERROR", msg);
alertWin->show();
}
return data;
}
示例3: mml
void Gsp1101::run()
{
double prog = 0.0;
AlertWindow* alertWindow;
{
const MessageManagerLock mml ;//(Thread::getCurrentThread());
alertWindow = LookAndFeel::getDefaultLookAndFeel()
.createAlertWindow ("title", String::empty, String::empty,
String::empty, String::empty,
AlertWindow::NoIcon, 0, 0);
alertWindow->addProgressBarComponent (prog);
alertWindow->setMessage ("foo");
alertWindow->setVisible (true);
}
while (!threadShouldExit() && lastMidiInput_M.getSize() < 1)
{
wait(200);
const MessageManagerLock mml (Thread::getCurrentThread());
if (! mml.lockWasGained()) // if something is trying to kill this job, the lock
return; // will fail, in which case we'd better return..
prog = (prog > 1.0) ? 0.0 : prog + 0.1;
yield();
//Thread::sleep(200);
}
const MessageManagerLock mml (Thread::getCurrentThread());
alertWindow->setVisible (false);
}
示例4: tr
void ProfileManager::saveProfiles()
{
QString name = nameField->text();
QString src = sourceField->text();
QString dest = destinationField->text();
QString state = tr("Deactivated");
if (stateBox->checkState()) {
state = tr("Activated");
}
// Check wether directory even exists
QDir *srcDir = new QDir(src);
QDir *destDir = new QDir(dest);
if (srcDir->exists() && destDir->exists()) {
QString dataString = "\n" + name + "|" + src + "|" + dest + "|" + state;
if(origin == 1) {
QByteArray dataBA = dataString.toLatin1();
helper->writeFile("profile.bs", true, dataBA);
}
if(origin == 2) {
QString oldProfile;
for(int i = 0; i < 4; i++) {
oldProfile.append(extractedInfo.value(i));
if(i != 3)
oldProfile.append('|');
}
helper->overwriteFile("profile.bs", oldProfile, true, dataString);
}
this->close();
}
else {
QString msg = tr("Either the source or the destination path doesn't exist. Please file it accordingly or create the needed directories.");
AlertWindow *alertDoesntExist = new AlertWindow("ERROR", msg);
alertDoesntExist->show();
}
}
示例5: file
void Helper::overwriteFile(QString aFileName, QString aProfile, bool aAppend, QString aData)
{
QStringList *fileData;
QString data, temp;
QFile file(aFileName);
int index;
bool success;
fileData = readFile(aFileName);
for(int i = 0; i < fileData->length(); i++) {
temp = fileData->value(i);
if(temp == aProfile) {
index = i;
break;
}
}
file.open(QIODevice::WriteOnly);
success = file.remove();
if(success) {
fileData->replace(index, aData);
for(int i = 0; i < fileData->length(); i++) {
data = fileData->value(i) + "\n";
writeFile(aFileName, aAppend, data.toLatin1());
}
file.close();
}
else {
QString msg = tr("An error occured while overwriting the configuration file. We are sorry for the inconvenience.");
AlertWindow *alertWin = new AlertWindow("ERROR", msg);
alertWin->show();
}
}
示例6: createNewFile
void createNewFile (Project::Item parent)
{
for (;;)
{
AlertWindow aw (TRANS ("Create new Component class"),
TRANS ("Please enter the name for the new class"),
AlertWindow::NoIcon, nullptr);
aw.addTextEditor (getClassNameFieldName(), String::empty, String::empty, false);
aw.addButton (TRANS ("Create Files"), 1, KeyPress (KeyPress::returnKey));
aw.addButton (TRANS ("Cancel"), 0, KeyPress (KeyPress::escapeKey));
if (aw.runModalLoop() == 0)
break;
const String className (aw.getTextEditorContents (getClassNameFieldName()).trim());
if (className == CodeHelpers::makeValidIdentifier (className, false, true, false))
{
const File newFile (askUserToChooseNewFile (className + ".h", "*.h;*.cpp", parent));
if (newFile != File::nonexistent)
createFiles (parent, className, newFile);
break;
}
}
}
示例7: Colour
void CabbageIDELookAndFeel::drawAlertBox (Graphics& g,
AlertWindow& alert,
const Rectangle<int>& textArea,
TextLayout& textLayout)
{
g.fillAll (CabbageSettings::getColourFromValueTree (colourTree, CabbageColourIds::alertWindowBackground, Colour (Colour::fromString("2ff52636a"))));
int iconSpaceUsed = 160;
if (alert.getAlertType() != AlertWindow::NoIcon)
{
Path icon;
if (alert.getAlertType() == AlertWindow::WarningIcon)
{
Rectangle<float> rect (alert.getLocalBounds().removeFromLeft (iconSpaceUsed).toFloat());
const Image warningImage = ImageCache::getFromMemory (CabbageBinaryData::WarningIcon_png, CabbageBinaryData::WarningIcon_pngSize);
//g.drawImage(warningImage, rect.reduced(20));
}
if (alert.getAlertType() == AlertWindow::QuestionIcon)
{
Rectangle<float> rect (alert.getLocalBounds().removeFromLeft (iconSpaceUsed - 20).toFloat());
const Image warningImage = ImageCache::getFromMemory (CabbageBinaryData::WarningIcon_png, CabbageBinaryData::WarningIcon_pngSize);
//g.drawImage(warningImage, rect.reduced(25));
}
MemoryInputStream svgStream (CabbageBinaryData::processstop_svg, CabbageBinaryData::processstop_svgSize, false);
ScopedPointer<XmlElement> svg (XmlDocument::parse (svgStream.readString()));
if (svg == nullptr)
jassert (false);
ScopedPointer<Drawable> drawable;
if (svg != nullptr)
{
drawable = Drawable::createFromSVG (*svg);
Rectangle<float> rect (20, 20, 80, 80);//alert.getLocalBounds().removeFromLeft (iconSpaceUsed - 20).withHeight(130).toFloat());
drawable->setTransformToFit (rect, RectanglePlacement::stretchToFit);
drawable->draw (g, 1.f, AffineTransform());
}
}
g.setColour (alert.findColour (AlertWindow::textColourId));
textLayout.draw (g, Rectangle<int> (textArea.getX() + iconSpaceUsed - 50,
textArea.getY(),
textArea.getWidth() - iconSpaceUsed - 40,
textArea.getHeight()).toFloat());
g.setColour (alert.findColour (AlertWindow::outlineColourId));
g.drawRect (0, 0, alert.getWidth(), alert.getHeight());
}
示例8: parent
void FileChooserDialogBox::createNewFolder()
{
File parent (content->chooserComponent.getRoot());
if (parent.isDirectory())
{
AlertWindow* aw = new AlertWindow (TRANS("New Folder"),
TRANS("Please enter the name for the folder"),
AlertWindow::NoIcon, this);
aw->addTextEditor ("name", String::empty, String::empty, false);
aw->addButton (TRANS("ok"), 1, KeyPress::returnKey);
aw->addButton (TRANS("cancel"), KeyPress::escapeKey);
aw->enterModalState (true,
ModalCallbackFunction::forComponent (createNewFolderCallback, this,
Component::SafePointer<AlertWindow> (aw)),
true);
}
}
示例9: AlertTextComp
AlertTextComp (AlertWindow& owner, const String& message, const Font& font)
{
setReadOnly (true);
setMultiLine (true, true);
setCaretVisible (false);
setScrollbarsShown (true);
lookAndFeelChanged();
setWantsKeyboardFocus (false);
setFont (font);
setText (message, false);
bestWidth = 2 * (int) std::sqrt (font.getHeight() * font.getStringWidth (message));
if (owner.isColourSpecified (AlertWindow::textColourId))
setColour (TextEditor::textColourId, owner.findColour (AlertWindow::textColourId));
setColour (TextEditor::backgroundColourId, Colours::transparentBlack);
setColour (TextEditor::outlineColourId, Colours::transparentBlack);
setColour (TextEditor::shadowColourId, Colours::transparentBlack);
}
示例10: path
void PluginListComponent::scanFor (AudioPluginFormat* format)
{
if (format != nullptr)
{
FileSearchPath path (format->getDefaultLocationsToSearch());
if (path.getNumPaths() > 0) // if the path is empty, then paths aren't used for this format.
{
#if JUCE_MODAL_LOOPS_PERMITTED
if (propertiesToUse != nullptr)
path = propertiesToUse->getValue ("lastPluginScanPath_" + format->getName(), path.toString());
AlertWindow aw (TRANS("Select folders to scan..."), String::empty, AlertWindow::NoIcon);
FileSearchPathListComponent pathList;
pathList.setSize (500, 300);
pathList.setPath (path);
aw.addCustomComponent (&pathList);
aw.addButton (TRANS("Scan"), 1, KeyPress (KeyPress::returnKey));
aw.addButton (TRANS("Cancel"), 0, KeyPress (KeyPress::escapeKey));
if (aw.runModalLoop() == 0)
return;
path = pathList.getPath();
#else
jassertfalse; // XXX this method needs refactoring to work without modal loops..
#endif
}
if (propertiesToUse != nullptr)
{
propertiesToUse->setValue ("lastPluginScanPath_" + format->getName(), path.toString());
propertiesToUse->saveIfNeeded();
}
currentScanner = new Scanner (*this, *format, path);
}
}
示例11: w
void CtrlrLuaMethodEditor::renameGroup(ValueTree parentGroup)
{
AlertWindow w ("Rename group", "", AlertWindow::QuestionIcon, this);
w.addTextEditor("name", parentGroup.getProperty (Ids::name).toString());
w.addButton ("OK", 1, KeyPress(KeyPress::returnKey));
w.addButton ("Cancel", 0, KeyPress(KeyPress::escapeKey));
if (w.runModalLoop())
{
parentGroup.setProperty (Ids::name, w.getTextEditorContents("name"), nullptr);
updateRootItem();
}
saveSettings(); // save settings
}
示例12: T
void EdoTabs::popupMenuClickOnTab (const int tabIndex, const String &tabName)
{
PopupMenu menu;
menu.addItem (1, T("Rename tab"));
menu.addItem (2, T("Close tab"));
const int ret = menu.show();
if (ret == 1)
{
AlertWindow alert (T("New tab name"), T("Set the new tab name"), AlertWindow::InfoIcon);
alert.addTextEditor (T("edoTabName"), tabName, T("New tab name"), false);
alert.addButton (T("OK"), 1, KeyPress (KeyPress::returnKey));
alert.addButton (T("Cancel"), 2);
const int ret = alert.runModalLoop();
if (ret == 2)
{
return;
}
else
{
const String newName = alert.getTextEditorContents(EDO_COMPONENT_NAME);
Component *edoComponent = dynamic_cast<Component*>(getTabContentComponent (tabIndex));
if (edoComponent!=0)
{
edoComponent->setName (newName);
}
setTabName (tabIndex, newName);
}
}
if (ret == 2)
{
removeTab (tabIndex);
}
}
示例13: showWindow
void showWindow (Component& button, DialogType type)
{
if (type >= plainAlertWindow && type <= questionAlertWindow)
{
AlertWindow::AlertIconType icon = AlertWindow::NoIcon;
switch (type)
{
case warningAlertWindow: icon = AlertWindow::WarningIcon; break;
case infoAlertWindow: icon = AlertWindow::InfoIcon; break;
case questionAlertWindow: icon = AlertWindow::QuestionIcon; break;
default: break;
}
AlertWindow::showMessageBoxAsync (icon,
"This is an AlertWindow",
"And this is the AlertWindow's message. Blah blah blah blah blah blah blah blah blah blah blah blah blah.",
"ok");
}
else if (type == okCancelAlertWindow)
{
AlertWindow::showOkCancelBox (AlertWindow::QuestionIcon,
"This is an ok/cancel AlertWindow",
"And this is the AlertWindow's message. Blah blah blah blah blah blah blah blah blah blah blah blah blah.",
String::empty,
String::empty,
0,
ModalCallbackFunction::forComponent (alertBoxResultChosen, this));
}
else if (type == calloutBoxWindow)
{
ColourSelector* colourSelector = new ColourSelector();
colourSelector->setName ("background");
colourSelector->setCurrentColour (findColour (TextButton::buttonColourId));
colourSelector->setColour (ColourSelector::backgroundColourId, Colours::transparentBlack);
colourSelector->setSize (300, 400);
CallOutBox::launchAsynchronously (colourSelector, button.getScreenBounds(), nullptr);
}
else if (type == extraComponentsAlertWindow)
{
#if JUCE_MODAL_LOOPS_PERMITTED
AlertWindow w ("AlertWindow demo..",
"This AlertWindow has a couple of extra components added to show how to add drop-down lists and text entry boxes.",
AlertWindow::QuestionIcon);
w.addTextEditor ("text", "enter some text here", "text field:");
const char* options[] = { "option 1", "option 2", "option 3", "option 4", nullptr };
w.addComboBox ("option", StringArray (options), "some options");
w.addButton ("ok", 1, KeyPress (KeyPress::returnKey, 0, 0));
w.addButton ("cancel", 0, KeyPress (KeyPress::escapeKey, 0, 0));
if (w.runModalLoop() != 0) // is they picked 'ok'
{
// this is the item they chose in the drop-down list..
const int optionIndexChosen = w.getComboBoxComponent ("option")->getSelectedItemIndex();
(void) optionIndexChosen; // (just avoids a compiler warning about unused variables)
// this is the text they entered..
String text = w.getTextEditorContents ("text");
}
#endif
}
else if (type == progressWindow)
{
// This will launch our ThreadWithProgressWindow in a modal state. (Our subclass
// will take care of deleting the object when the task has finished)
(new DemoBackgroundThread())->launchThread();
}
else if (type >= loadChooser && type <= saveChooser)
{
#if JUCE_MODAL_LOOPS_PERMITTED
const bool useNativeVersion = nativeButton.getToggleState();
if (type == loadChooser)
{
FileChooser fc ("Choose a file to open...",
File::getCurrentWorkingDirectory(),
"*",
useNativeVersion);
if (fc.browseForMultipleFilesToOpen())
{
String chosen;
for (int i = 0; i < fc.getResults().size(); ++i)
chosen << fc.getResults().getReference(i).getFullPathName() << "\n";
AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon,
"File Chooser...",
"You picked: " + chosen);
}
}
else if (type == loadWithPreviewChooser)
{
ImagePreviewComponent imagePreview;
imagePreview.setSize (200, 200);
//.........这里部分代码省略.........
示例14: path
void PluginListComponent::scanFor (AudioPluginFormat* format)
{
#if JUCE_MODAL_LOOPS_PERMITTED
if (format == nullptr)
return;
FileSearchPath path (format->getDefaultLocationsToSearch());
if (propertiesToUse != nullptr)
path = propertiesToUse->getValue ("lastPluginScanPath_" + format->getName(), path.toString());
{
AlertWindow aw (TRANS("Select folders to scan..."), String::empty, AlertWindow::NoIcon);
FileSearchPathListComponent pathList;
pathList.setSize (500, 300);
pathList.setPath (path);
aw.addCustomComponent (&pathList);
aw.addButton (TRANS("Scan"), 1, KeyPress::returnKey);
aw.addButton (TRANS("Cancel"), 0, KeyPress::escapeKey);
if (aw.runModalLoop() == 0)
return;
path = pathList.getPath();
}
if (propertiesToUse != nullptr)
{
propertiesToUse->setValue ("lastPluginScanPath_" + format->getName(), path.toString());
propertiesToUse->saveIfNeeded();
}
double progress = 0.0;
AlertWindow aw (TRANS("Scanning for plugins..."),
TRANS("Searching for all possible plugin files..."), AlertWindow::NoIcon);
aw.addButton (TRANS("Cancel"), 0, KeyPress::escapeKey);
aw.addProgressBarComponent (progress);
aw.enterModalState();
MessageManager::getInstance()->runDispatchLoopUntil (300);
PluginDirectoryScanner scanner (list, *format, path, true, deadMansPedalFile);
for (;;)
{
aw.setMessage (TRANS("Testing:\n\n") + scanner.getNextPluginFileThatWillBeScanned());
MessageManager::getInstance()->runDispatchLoopUntil (100);
if (! scanner.scanNextFile (true))
break;
if (! aw.isCurrentlyModal())
break;
progress = scanner.getProgress();
}
if (scanner.getFailedFiles().size() > 0)
{
StringArray shortNames;
for (int i = 0; i < scanner.getFailedFiles().size(); ++i)
shortNames.add (File (scanner.getFailedFiles()[i]).getFileName());
AlertWindow::showMessageBox (AlertWindow::InfoIcon,
TRANS("Scan complete"),
TRANS("Note that the following files appeared to be plugin files, but failed to load correctly:\n\n")
+ shortNames.joinIntoString (", "));
}
#else
jassertfalse; // this method needs refactoring to work without modal loops..
#endif
}
示例15: fc
//===============================================================================
void CabbageFileButton::buttonClicked (Button* button)
{
if (mode == "file")
{
const String lastKnownDirectory = owner->getLastOpenedDirectory();
FileChooser fc ("Choose File", lastKnownDirectory.isEmpty() ? File (getCsdFile()).getParentDirectory() : File (lastKnownDirectory), "", CabbageUtilities::shouldUseNativeBrowser());
if (fc.browseForFileToOpen())
{
owner->sendChannelStringDataToCsound (getChannel(), returnValidPath (fc.getResult()));
CabbageWidgetData::setStringProp (widgetData, CabbageIdentifierIds::file, returnValidPath (fc.getResult()));
//owner->refreshComboBoxContents();
}
owner->setLastOpenedDirectory (fc.getResult().getParentDirectory().getFullPathName());
}
else if (mode == "save")
{
const String lastKnownDirectory = owner->getLastOpenedDirectory();
FileChooser fc ("Choose File", lastKnownDirectory.isEmpty() ? File (getCsdFile()).getParentDirectory() : File (lastKnownDirectory), "", CabbageUtilities::shouldUseNativeBrowser());
if (fc.browseForFileToSave(true))
{
owner->sendChannelStringDataToCsound (getChannel(), returnValidPath (fc.getResult()));
CabbageWidgetData::setStringProp (widgetData, CabbageIdentifierIds::file, returnValidPath (fc.getResult()));
//owner->refreshComboBoxContents();
}
owner->setLastOpenedDirectory (fc.getResult().getParentDirectory().getFullPathName());
owner->refreshComboListBoxContents();
startTimer(500);
}
else if (mode == "directory")
{
const String lastKnownDirectory = owner->getLastOpenedDirectory();
FileChooser fc ("Open Directory", lastKnownDirectory.isEmpty() ? File (getCsdFile()).getChildFile (getFilename()) : File (lastKnownDirectory), "", CabbageUtilities::shouldUseNativeBrowser());
if (fc.browseForDirectory())
{
owner->sendChannelStringDataToCsound (getChannel(), returnValidPath (fc.getResult()));
CabbageWidgetData::setStringProp (widgetData, CabbageIdentifierIds::file, returnValidPath (fc.getResult()));
}
owner->setLastOpenedDirectory (fc.getResult().getParentDirectory().getFullPathName());
}
else if (mode == "snapshot")
{
String newFileName;
if (owner->isAudioUnit())
newFileName = File(getCsdFile()).withFileExtension(".snaps").getFullPathName();
else
newFileName = owner->createNewGenericNameForPresetFile();
owner->sendChannelStringDataToCsound (getChannel(), newFileName);
owner->savePluginStateToFile (File (newFileName));
owner->refreshComboListBoxContents();
}
else if (mode == "named snapshot")
{
String newFileName;
if (owner->isAudioUnit())
newFileName = File(getCsdFile()).withFileExtension(".snaps").getFullPathName();
else
newFileName = owner->createNewGenericNameForPresetFile();
#if JUCE_MODAL_LOOPS_PERMITTED
String presetname;
AlertWindow w ("Preset",
"Set preset name (warning, will overwrite previous preset of same name)",
AlertWindow::NoIcon);
w.setLookAndFeel(&getLookAndFeel());
w.setSize(100, 100);
w.addTextEditor ("text", "enter name here", "");
w.addButton ("OK", 1, KeyPress (KeyPress::returnKey, 0, 0));
w.addButton ("Cancel", 0, KeyPress (KeyPress::escapeKey, 0, 0));
if (w.runModalLoop() != 0) // is they picked 'ok'
{
presetname = w.getTextEditorContents ("text");
}
#endif
owner->sendChannelStringDataToCsound (getChannel(), newFileName);
owner->savePluginStateToFile (File (newFileName), presetname);
owner->refreshComboListBoxContents();
}
owner->getProcessor().updateHostDisplay();
}