void PooledTaskListView::listBoxItemDoubleClicked(int row, const MouseEvent&) { TaskContext* handler = getTaskForRow (row); if (handler != nullptr) { handler->getTask().abort(); } }
void TaskContextListBoxModel::ItemComponent::refresh (TaskContext& context) { nameLabel.setText (context.getTask().getName(), dontSendNotification); TaskContext::TaskState state = context.getState(); if (state == TaskContext::taskRunning) { setProgressBarVisible(true); } else { setStateMessage (context.getStateDescription()); } if (stateLabel != nullptr) { stateLabel->toFront (false); } resized (); repaint (); }
void TaskContextListBoxModel::ItemComponent::taskProgressChanged (TaskContext& context) { progress = context.getTask().getProgress(); }
void TaskContextViewComponent::paint (Graphics& g) { TaskContext* handler = getTaskContext (); if (handler != nullptr) { String name = handler->getTask().getName(); String msg = handler->getTask().getStatusMessage(); // if (rowIsSelected) // { // g.setColour (Colours::darkgrey.withAlpha(0.3f)); // g.fillAll (); // } g.setColour (Colours::black); Rectangle<int> area (0,0,getWidth(),getHeight()); area = area.reduced (4); int halfHeight = getHeight()/2; g.drawFittedText(handler->getTask().getName(), getLocalBounds().withTrimmedBottom(halfHeight).reduced(4), Justification::centredLeft, 1); //g.drawFittedText(handler->getStateDescription(), getLocalBounds().withTrimmedTop(halfHeight).reduced(4), Justification::centredLeft, 1); switch (handler->getState()) { case TaskContext::taskPending: { g.setColour (Colours::blue.withAlpha(0.2f)); g.fillRect (area.reduced(2)); } break; case TaskContext::taskRunning: { double prog = handler->getTask().getProgress();//getOverallProgress(); g.setColour (Colours::hotpink.withAlpha(0.5f)); g.fillRect (area.reduced(2).withTrimmedRight (roundDoubleToInt (area.getWidth() * (1 - prog)))); } break; case TaskContext::taskCompleted: { g.setColour (Colours::green.withAlpha(0.5f)); g.fillRect (area.reduced(2)); } break; case TaskContext::taskAborted: { g.setColour (Colours::red.withAlpha(0.5f)); g.fillRect (area.reduced(2)); } break; case TaskContext::taskStarting: { g.setColour (Colours::brown.withAlpha(0.5f)); g.fillRect (area.reduced(2)); } break; default:; break; } } }
void TaskThreadWithProgressWindow::taskProgressChanged (TaskContext& context) { setProgress (context.getTask().getProgress ()); }
void TaskThreadWithProgressWindow::taskStatusMessageChanged (TaskContext& context) { setStatusMessage (context.getTask().getStatusMessage()); }