Script
|
#include <drawingimportdlg.h>
Classes | |
struct | CreateSymbolInfo |
struct | LayerGroupInfo |
struct | TUDrawingImportElement |
class | TUDrawingImportItem |
class | TUModuleSelectionPredicate |
class | TURadioButton |
Public Types | |
enum | ImportMode { IM_DRAWING, IM_TIMING, IM_SCAN, IM_DRAWING_SCENEMACHINE, IM_3D_MODELS, IM_MOVIE } |
Public Slots | |
int | exec () |
int | getInsertFrame () |
The frame where the imported drawing is being inserted. | |
int | getOrderForNewElement () |
Not used. | |
int | getPositionForNewElement () |
Not used. | |
void | importOneSymbol (String &symbolName) |
All imported items will be imported into a single symbol. | |
bool | isSingleSymbolImport () |
Check if import in single symbol is enable. | |
void | setInsertFrame (int insertFrame) |
Set the frame where the imported drawing is being inserted. | |
void | setOrderForNewElement (int order) |
Not used. | |
void | setPositionForNewElement (int position) |
Not used. | |
void | setSingleSymbolImport (bool single) |
Set the import in single symbole. | |
void | setImportFiles (StringList &files) |
Select all the files that are imported. | |
bool | wasElementCreated () |
Check if the imported element was created. | |
Public Member Functions | |
ImportDrawingDlg (QWidget *parent, SC_Session *session, String &initialModule, int frameNum, int orderForNewElement, int positionForNewElement, bool loadPrefs, ImportMode importMode=IM_DRAWING, bool vectorize=!WHO_Features::hasSimplifiedVectorization()) | |
virtual | ~ImportDrawingDlg () |
void | silentApply (int frame, String &file, String &drawingName, String &columnName) |
bool | silentApply (int frame, String &file, String &drawingName) |
void | selectModules (TUGroup *group, TUModuleSelectionPredicate &predicate, std::vector< MO_ElementModule * > &dest) |
TUTimedValue * | getAffectedTimedValue () |
Static Public Member Functions | |
static PLUG_ImportEngine * | importEngine () |
Protected Member Functions | |
virtual void | closeEvent (QCloseEvent *e) |
virtual void | keyPressEvent (QKeyEvent *e) |
virtual void | polishEvent () |
virtual bool | event (QEvent *) |
Properties | |
int | insertFrame |
int | orderForNewElement |
int | positionForNewElement |
bool | singleSymbolImport |
Private Types | |
typedef std::vector < TUDrawingImportItem > | Items |
typedef std::vector < LayerGroupInfo > | LayerGroups |
typedef std::map< String, TUDrawingImportElement > | ImportTable |
typedef std::map< String, MO_ElementModule * > | ElemModules |
Private Slots | |
void | dynamicContentUpdate () |
Change the value of the current panning level. | |
void | apply () |
Last part of the import pipeline. We import the image in the scene. | |
void | enableApply () |
void | fileSelector () |
void | addToElementButtonToggled (bool on) |
We want to change controls availability if these button are toggled. | |
void | elementButtonToggled (bool on) |
void | timingButtonToggled (bool on) |
void | addToTimingButtonToggled (bool on) |
void | createOneElementToggled (bool on) |
void | createElementsBasedOnFilenamesToggled (bool on) |
void | createOneTimingToggled (bool on) |
void | createTimingsBasedOnFilenamesToggled (bool on) |
void | copyCBToggled (bool on) |
void | filesEntered () |
Build item. | |
void | checkExtension (String &name) |
void | timedValueChanged (int item) |
void | toggleCreateSymbol (bool enable) |
void | toggleVecto (bool enable) |
void | toggleBitmapAsLayer (bool enable) |
void | resetPreview () |
Reset, update or change preview depending of the operation. | |
void | updatePreview () |
void | togglePreview (bool on) |
void | scalePreview (int scaleFactor) |
void | zoomInPreview () |
void | zoomOutPreview () |
void | cancel () |
void | setPanning (int) |
void | setFlip () |
Flip the current preview image horizontaly. | |
void | setOverwrite (bool) |
Get the overwrite permission it will change the drawing name and the hold value. | |
void | editVectorizePreset () |
Open vectorize dialog and let users edit their presets. | |
void | simpleVectoApply () |
Vectorize the current preview. | |
void | simpleVectoTimeout () |
void | useScanner () |
void | scanEnd () |
void | updateNumScannedImages () |
void | simpleScan () |
void | simpleScanPreview () |
Private Member Functions | |
void | populateDynamicContainer (QWidget *parent) |
void | buildItems (bool showErrorDialog=false) |
TUDrawingImportElement * | getDrawingImportElement (String &elementName) |
TUDrawingImportElement & | addElementToImport (String &elementName, String &drawingExt, String &originDir) |
size_t | getNumItemsToImport () |
void | buildItemsInScannerMode () |
bool | doPreImport () |
bool | createSymbol (CreateSymbolInfo &i_info, TUDrawingImportElement &ie, TUElement &o_elem, TUScene *&o_scene, TUElementTimedValue *&o_sceneTV) |
void | importElement (TUElementTimedValue *tv=0, int elementId=-1) |
bool | vectorizeFileItem (TUDrawingImportItem &item, String &dstDir, String &elementName) |
bool | vectorizeFileItem (TUDrawingImportItem &item, String &dstDir, String &elementName, CELIO_LayerInfo &layerInfo) |
bool | vectorizeLayer (CELIO_Layer &layer, TUDrawingImportItem &item, String &dstDir, String &elementName) |
GR_CompositeVectorDrawingObj * | vectorizeScannedItem (TUDrawingImportItem &item, CEL_Rep celRep) |
Caller must call delete on returned drawing. | |
void | importTiming (MO_ElementModule *existingElemModule=0, TUTimingTimedValue *existingTv=0) |
void | fileError (String fname, MSG_Text &msg, bool showErrorDialog) |
void | doDeletes () |
bool | copyFileToFile (String src, String dstFilename) |
void | truncateFileList (StringList &i_fileList, String &io_strFileList) |
void | getImportFiles (StringList &o_fileList) |
String | makeDrawingFilename (String &elementName, String &timing, String &extension, String &dstDir) |
bool | importPixmapFile (String &srcFilename, String &elementName, String &timing, String &destExtension, String &dstDir) |
bool | writeImageToDir (CEL_Rep celRep, GR_CompositeVectorDrawingObj *vectorizedVersion, String &elementName, String &timing, String &drawingExt, String &dstDir) |
TUElementTimedValue * | createUnfilledElementTimedValue (SC_SceneCommon *sceneCommon, String &colName) |
TUTimingTimedValue * | createTimingTimedValue (String &timingColumnName, Items &items) |
void | fillTimedValue (TUSeqTimedValue *tv, Items &items) |
void | fillExistingTimedValue (TUSeqTimedValue *tv) |
bool | addLayerToTv (CELIO_Layer &layer, String &timing, TUElementTimedValue *tv, TUScene *scene, int &frame, tu_timedvalue::seq::ReplaceSeqCmd::TUSeqPtrCol &drawings, CO_MacroCommand *macroCmd) |
bool | loadGroupLayers (CELIO_LayerGroup &group, String &timing, TUElementTimedValue *tv, TUScene *scene, int &frame, CO_MacroCommand *macroCmd, tu_timedvalue::seq::ReplaceSeqCmd::TUSeqPtrCol &drawings, bool loadSubGroups=true) |
MO_Node * | addModule (SC_SceneCommon *sceneCommon, TUTimedValue *tv, TUDrawingImportElement &impElem, bool forElement, String &elementName, int alignmentValue=-1, double scale=1.0, bool bitmap=false, String &timingPath=NTR("")) |
String | getNumScannedImagesLabelText () |
void | setControlsAvailability () |
void | addScannedImage (CEL_Rep celRep) |
void | error (MSG_Text &msgText) |
void | initFileFormats () |
void | initElemModulesCombo (String &initialModule) |
void | updateElementModuleCombo () |
void | initTimingElemModulesCombo (String &initialModule) |
void | initScannerList () |
int | getAlignmentType () |
void | getElementInfo (TUElement &elem, String &elemName, String &elemExt, String &elemDir) |
void | getImportItemScaleFactor (TUDrawingImportItem &item, double &scaleFactorX, double &scaleFactorY) |
void | getScanImportItemScaleFactor (int itemIndex, double &scaleFactorX, double &scaleFactorY) |
bool | getSelectedElemModule (MO_ElementModule **module, TUElementTimedValue **tv, int &elemId) |
String | getSelectedElemModuleFormat () |
bool | getSelectedTimingElemModule (MO_ElementModule **module, TUTimingTimedValue **tv) |
String | getCurScanFileFormat () |
PremultiplyType | getTransparencyType () |
bool | isInBitmapSymbol () |
bool | isSelElemModuleBitmap () |
bool | isSelTimingElemModuleBitmap () |
bool | isFileFormatAllowed (String &format) |
void | updateLayout () |
void | updatePreviewToggle () |
void | applyVectoOptions (TUPix2vecOptions *vecOptions) |
bool | scannersAvailable () |
CEL_Rep | importScannedImage (String &imagePath) |
CEL_Rep | rotatePeggedImage (QImage image, TuVectorizeScanInfo::ePegPosition pegPosition) |
String | generateDrawingName (bool) |
bool | isDigits (std::string &str) |
int | generateHoldValue (int &) |
void | updateFrame (TUElementTimedValue *timeValue) |
void | applyInternal () |
void | loadPreferences () |
void | savePreferences () |
void | saveFileListPreference () |
Friends | |
class | DrawingImportTwainListener |
Import dialog widget for drawing
You can use it in Script Editor only.
|
private |
|
private |
|
private |
|
private |
ImportDrawingDlg::ImportDrawingDlg | ( | QWidget * | parent, |
SC_Session * | session, | ||
String & | initialModule, | ||
int | frameNum, | ||
int | orderForNewElement, | ||
int | positionForNewElement, | ||
bool | loadPrefs, | ||
ImportMode | importMode = IM_DRAWING , |
||
bool | vectorize = !WHO_Features::hasSimplifiedVectorization() |
||
) |
'initialModule' indicates which element module is the default selection in the "add to existing" drop down lists.
'frameNum' must then be the 1-based number of the frame at which the new drawing names will be added in the designated timed value. If 'timedValueName' is empty or null, 'frameNum' is ignored.
'orderForNewElement' and 'positionForNewElement' must specify where a new timed value would be added, if applicable. Pass -1 for both parameters to specify no preference.
'importMode' can be IM_DRAWING for drawings, IM_TIMING for linked drawings or IM_SCAN for scanning images, IM_3D_MODELS if we import 3d, or IM_MOVIE for movies.
If 'vectorize' is true, the vectorization options will be shown by default.
This dialog is NOT ructed with the flag Qt::WDestructiveClose.
|
virtual |
|
private |
|
private |
Multilayer image import helpers.
|
private |
If 'forElement' is true, then 'tv' is associated with the AT_ElementAttr of the new module. Otherwise, 'tv' is associated with the AT_TimingAttr of the new module.
|
private |
This method is called when an image has been received from a scanner. The CEL_Representation passed as celRep must have been created with operator new. This method becomes owner of the CEL_Representation.
|
privateslot |
We want to change controls availability if these button are toggled.
|
privateslot |
|
privateslot |
Last part of the import pipeline. We import the image in the scene.
|
private |
|
private |
|
private |
|
private |
|
privateslot |
|
privateslot |
|
protectedvirtual |
|
privateslot |
|
private |
|
privateslot |
|
privateslot |
|
privateslot |
|
private |
|
privateslot |
|
private |
|
private |
|
private |
|
private |
|
privateslot |
Change the value of the current panning level.
|
privateslot |
Open vectorize dialog and let users edit their presets.
|
privateslot |
|
privateslot |
|
private |
Shows a modal error dialog. If a progress dialog is currently open, destroys it before showing the error dialog.
|
protectedvirtual |
|
slot |
|
private |
|
privateslot |
|
privateslot |
Build item.
|
private |
|
private |
|
private |
|
private |
TUTimedValue* ImportDrawingDlg::getAffectedTimedValue | ( | ) |
Returns the timed value which was created or augmented by this operation. This method should be called after the call to exec() has returned. The returned pointer may be null if no operation was performed.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
slot |
The frame where the imported drawing is being inserted.
|
private |
|
private |
|
slot |
Not used.
|
slot |
Not used.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Creates a new element if 'existingElementName' is null. Otherwise, adds the imported drawings to the designated element.
|
static |
|
slot |
All imported items will be imported into a single symbol.
|
private |
Reads the pixmap in the file named by 'srcFilename' and writes it in a file under the directory named by 'dstDir'.
The format of the written file is the format corresponding to the extension 'destExtension'. The source pixmap file does not have to be of the same format. It must not however be a vectorized format. If 'destExtension' is null, then the extension of 'srcFilename' is used as the destination extension.
The name of the written file by is formed from 'dstDir', 'elementName', 'timing' and 'destExtension'.
If the source file is already of the right format, it is copied as is into the destination directory, instead of being read and written by the CELIO_Manager. If an error occurs, _isError becomes true, a modal error dialog is shown and the method returns false. Upon success, the method returns true.
|
private |
|
private |
|
private |
Fills _elemModulesCombo with the names of the scene element modules. If one of those names is equal to 'initialModule', then the corresponding item in the combo box is made current and _addToElementRB is selected. 'initialModule' is allowed to be null.
|
private |
Determine the bitmap file formats that are available for scanned images and for imported drawings.
|
private |
Fills _scannersCombo with the names of the available scanner devices.
|
private |
Fills _elemModulesCombo with the names of the scene element modules. If one of those names is equal to 'initialModule', then the corresponding item in the combo box is made current and _addToElementRB is selected. 'initialModule' is allowed to be null.
|
private |
|
private |
|
private |
|
private |
|
private |
|
slot |
Check if import in single symbol is enable.
|
protectedvirtual |
|
private |
|
private |
|
private |
Builds a complete filename for a drawing. Example: makeDrawingFilename("foo", "3a", "Png", "/tmp") returns "/tmp/foo-3a.Png". 'dstDir' is allowed to end with a slash or not.
|
protectedvirtual |
|
private |
|
privateslot |
Reset, update or change preview depending of the operation.
|
private |
|
private |
|
private |
|
privateslot |
|
privateslot |
|
private |
void ImportDrawingDlg::selectModules | ( | TUGroup * | group, |
TUModuleSelectionPredicate & | predicate, | ||
std::vector< MO_ElementModule * > & | dest | ||
) |
Selects all modules in the scene under the specified group (and its subgroups) that satisfy the given predicate. Pointers to the selected nodes are stored in 'dest'. Does not clear 'dest' initially.
|
private |
Enables or disables the dialog's controls depending on the independent controls.
|
privateslot |
Flip the current preview image horizontaly.
|
slot |
Select all the files that are imported.
|
slot |
Set the frame where the imported drawing is being inserted.
|
slot |
Not used.
|
privateslot |
Get the overwrite permission it will change the drawing name and the hold value.
|
privateslot |
|
slot |
Not used.
|
slot |
Set the import in single symbole.
void ImportDrawingDlg::silentApply | ( | int | frame, |
String & | file, | ||
String & | drawingName, | ||
String & | columnName | ||
) |
bool ImportDrawingDlg::silentApply | ( | int | frame, |
String & | file, | ||
String & | drawingName | ||
) |
|
privateslot |
|
privateslot |
|
privateslot |
Vectorize the current preview.
|
privateslot |
|
privateslot |
|
privateslot |
|
privateslot |
|
privateslot |
|
privateslot |
|
privateslot |
|
private |
|
private |
|
private |
|
private |
|
privateslot |
|
privateslot |
|
private |
|
privateslot |
|
private |
Vectorize the drawing file designated by 'item._fullFileName'. If 'dstDir' is null, then the .tvg file is written in the same directory as the original drawing file. If 'dstDir' is not null, it is expected to designate the directory where the .tvg file must be written. 'elementName' will be used as the first part of the resulting file. Returns true for success, false for error (an error dialog is displayed for errors).
|
private |
|
private |
|
private |
Caller must call delete on returned drawing.
|
slot |
Check if the imported element was created.
|
private |
Writes 'vectorizedVersion' if not null; otherwise, writes pixmap designated by 'celRep'.
|
privateslot |
|
privateslot |
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
readwrite |
|
readwrite |
|
readwrite |
|
readwrite |