VCOM:VectorWorks:UI:IProgressDialog
From Vectorworks Developer
.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference
Description
namespaceVectorWorks::UI
This interface allows you to show progress dialog which could have 'Cancel' button.
Interface
// ---------------------------------------------------------------------------------------------------- // {7E8C933D-CC09-4202-B14F-EFFB04FA4220} static const VWIID IID_ProgressDialog = { 0x7E8C933D, 0xCC09, 0x4202, { 0xB1, 0x4F, 0xEF, 0xFB, 0x04, 0xFA, 0x42, 0x20 } }; class IProgressDialog : public IVWUnknown { public: virtual VCOMError VCOM_CALLTYPE Open(const TXString& title) = 0; virtual VCOMError VCOM_CALLTYPE Close() = 0; virtual VCOMError VCOM_CALLTYPE AllowUserCancel(bool bAllow) = 0; virtual VCOMError VCOM_CALLTYPE ResetMeter(Uint16 meter) = 0; virtual VCOMError VCOM_CALLTYPE SetTopText(const TXString& szTopText) = 0; virtual VCOMError VCOM_CALLTYPE SetBottomText(const TXString& szBottomText) = 0; virtual VCOMError VCOM_CALLTYPE SetMeterText(const TXString& szMeterText) = 0; virtual VCOMError VCOM_CALLTYPE HasUserCanceled(bool& bUserCanceled) = 0; virtual VCOMError VCOM_CALLTYPE DoYield()= 0; virtual VCOMError VCOM_CALLTYPE IncrementMeter(Uint16 step) = 0; };
Members
Open Show the progress dialog. Close Hide the progress dialog. AllowUserCancel Determine if the user can see 'Cancel' button in the progress dialog. ResetMeter Set progress meter maximum value. SetTopText Set top text string. SetBottomText Set bottom text string. SetMeterText Set meter text string. HasUserCanceled Determine during opened dialog if the user have clicked cancel button. DoYield Update the dialog. This function should be called regularly during the open state of the dialog. IncrementMeter Increment the meter with specified amount.
Remarks
There is predefined type for smart VCOM pointer VCOMPtr to IProgressDialog interface:typedef VCOMPtr<IProgressDialog> IProgressDialogPtr;
Example
#include "VWInterfaces.h" using namespace VectorWorks::UI; VCOMPtr<IProgressDialog> pProgressDlg( IID_ProgressDialog ); pProgressDlg->Open( "Import" ); pProgressDlg->AllowUserCancel( true ); pProgressDlg->ResetMeter( 100 ); pProgressDlg->SetTopText( "Top text" ); pProgressDlg->SetBottomText( "Bottom text" ); pProgressDlg->SetMeterText( "Meter text" ); for( ... ) { // ... pProgressDlg->IncrementMeter( 1 ); pProgressDlg->DoYield(); // Check if the user wants to cancel bool bHasCanceled = false; pProgressDlg->HasUserCanceled( bHasCanceled ); if ( bHasCanceled ) { throw CAbortException(); } } pProgressDlg->Close();
Version
Available from: VectorWorks 12See Also
VCOM:VCOMPtr[[VCOM:VCOMPtr]]