SketchUp C API

- Main Page
- Related Pages
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
SketchUpPluginProgressCallback Struct Referenceabstract

Interface to provide import/export progress feedback and cancellation. More...

`#include <SketchUpAPI/import_export/pluginprogresscallback.h>`

## Public Member Functions
virtual bool | HasBeenCancelled ()=0
| Call this to test if the user has pressed the cancel button. Your code should clean up and return promptly after detecting this. More...
virtual void | SetPercentDone (double percent)=0
| Call this to set the percent complete on the dialog. More...
virtual void | SetStepSize (double percent)=0
| You may also set a step size and increment it using the Step method. More...
virtual void | Step ()=0
| Increments the progress dialog by the step size set using SetStepSize.
virtual void | SetProgressMessage (const std::string &utf8_message)=0
| Supplies a UTF-8 message which will be presented on the progress dialog. More...

## Detailed Description

Interface to provide import/export progress feedback and cancellation.

All well behaved SketchUp importer/exporter plugins should support progress feedback and cancellation through this interface. SketchUp will pop up a progress/cancel dialog prior to calling the appropriate Convert method on the importer/exporter plugin and supply a concrete implementation of this interface. The plugin should supply feedback to the user by estimating how far along the conversion is (via SetPercentDone or SetStepSize and Step), provide some textual progress (via SetProgressMessage) and test for cancellation by calling HasBeenCancelled.

For example, the main loop of an importer plugin may look like this:

progress_callback->SetProgressMessage("Importing 50 things!");
progress_callback->SetStepSize(1.0);
for (int steps = 0; steps < 50; ++steps) {
progress_callback->Step();
// Do something which builds an skp model
if (progress_callback->HasBeenCancelled()) {
// Clean up and return
return false;
}
}
progress_callback->SetProgressMessage("We're half way there!");
// Do some more larger steps
progress_callback->SetPercentDone(75.0);
progress_callback->SetProgressMessage("Finishing up!");
// And some more
progress_callback->SetPercentDone(100.0);
// Success!
return true;

## Member Function Documentation

virtual bool SketchUpPluginProgressCallback::HasBeenCancelled | ( |  | ) |
| pure virtual

Call this to test if the user has pressed the cancel button. Your code should clean up and return promptly after detecting this.

Returns
  Returns true if the user has pressed cancel.

virtual void SketchUpPluginProgressCallback::SetPercentDone | ( | double | percent | ) |
| pure virtual

Call this to set the percent complete on the dialog.

Parameters

  [in] | percent | The percent done from 0 to 100.

virtual void SketchUpPluginProgressCallback::SetProgressMessage | ( | const std::string & | utf8_message | ) |
| pure virtual

Supplies a UTF-8 message which will be presented on the progress dialog.

Parameters

  utf8_message | The message.

virtual void SketchUpPluginProgressCallback::SetStepSize | ( | double | percent | ) |
| pure virtual

You may also set a step size and increment it using the Step method.

Parameters

  [in] | percent | The percent to increment with each call to Step.

The documentation for this struct was generated from the following file:

- SketchUpAPI/import_export/pluginprogresscallback.h