#ifndef PRODTLNOTE_H #define PRODTLNOTE_H #include <ProANSI.h> #include <ProObjects.h> #include <ProDtlitem.h> #include <ProDtlattach.h> #include <ProDtlsymdef.h> #include <ProDimension.h> #include <ProGtol.h> #include <ProNote.h> typedef struct prodtl_text *ProDtlnotetext; typedef struct prodtl_text_line *ProDtlnoteline; typedef struct pro_notedata *ProDtlnotedata; typedef enum horizontal_just { PRO_HORZJUST_LEFT, PRO_HORZJUST_CENTER, PRO_HORZJUST_RIGHT, PRO_HORZJUST_DEFAULT /* Indicates note with Creo Parametric default justification. */ } ProHorizontalJustification; typedef enum vertical_just { PRO_VERTJUST_TOP, PRO_VERTJUST_MIDDLE, PRO_VERTJUST_BOTTOM, PRO_VERTJUST_DEFAULT /* Indicates note with Creo Parametric default justification. */ } ProVerticalJustification; PRO_BEGIN_C_DECLS /*================================================================*\ ProDtlnote functions \*=================================================================*/ extern ProError ProDrawingReadonlyselectionAllow( ProBoolean allow); /* Purpose: Enables or disables the Creo Parametric user to select drawing detail notes flagged as read-only. Input Arguments: allow - Set to PRO_B_TRUE to enable selection, and PRO_B_FALSE to disable it. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the flag. */ extern ProError ProDtlnoteCreate(ProMdl owner, ProDtlsymdef *symbol, ProDtlnotedata notedata, ProDtlnote *note); /* Purpose: Creates a note. Input Arguments: owner - The owner handle. symbol - If you are adding a note to the drawing, set the symbol to NULL. If you are adding a note to a symbol definition, set the symbol to be that symbol definition. notedata - The note data. Output Arguments: note - Created note. Return Values: PRO_TK_NO_ERROR - The function successfully created the note. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - The note could not be created. */ extern ProError ProDtlnoteDataGet( ProDtlnote *note, ProDtlsymdef *symbol, ProDisplayMode mode, ProDtlnotedata *notedata); /* Purpose: Gets a note data for the specified note. The function allocates memory; user must release this memory with ProDtlnotedataFree Input Arguments: note - The note. symbol - If you are getting a note from the drawing, set the symbol to NULL. If you are getting a note from a symbol definition, set the symbol to be that symbol definition. mode - The display mode. <p><b>Note:</b>Creo Parametric does not resolve and replace symbolic callouts for notes, which are not displayed. Therefore, for the value PRODISPMODE_NUMERIC, if the note is not displayed or is hidden in a layer, the text retrieved may contain the symbolic callouts. Output Arguments: notedata - The note data. Free the data using ProDtlnotedataFree. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the note data. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - The function failed. */ extern ProError ProDtlnoteDelete( ProDtlnote *note, ProDtlsymdef *symbol); /* Purpose: Deletes a note. Input Arguments: note - The note. symbol - If you are deleting a note from the drawing, set the symbol to NULL. If you are deleting a note from a symbol definition, set the symbol to be that symbol definition. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully deleted the note data. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - The note could not be deleted. */ extern ProError ProDtlnoteModify( ProDtlnote *note, ProDtlsymdef *symbol, ProDtlnotedata notedata); /* Purpose: Modifies a note. Input Arguments: note - The note. symbol - If you are modifying a note from the drawing, set the symbol to NULL. If you are modifying a note from a symbol definition, set the symbol to be that symbol definition. notedata - The note data. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully modified the note data. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - Can't modify the note. */ extern ProError ProDtlnoteDraw( ProDtlnote *note); /* Purpose: Draw a note. Make note in the database appear on the drawing until the drawing is regenerated. <B>NOTE: </B> The drawing must be current to use this function Input Arguments: note - The note. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully draw the note. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - Can't draw the note. */ extern ProError ProDtlnoteErase( ProDtlnote *note); /* Purpose: Erase a note. Makes the note disappear on the drawing until the drawing is regenerated. <B>NOTE: </B> The drawing must be current to use this function Input Arguments: note - The note. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully erased the note. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - Can't erase the note. */ extern ProError ProDtlnoteShow( ProDtlnote *note); /* Purpose: Show a note. Make note in the database appear on the drawing and continue to appear after the drawing is regenerated. <B>NOTE: </B> The drawing must be current to use this function; to set a note to be displayed in a non-current drawing using ProDtlnotedataDisplayedSet() and regenerate the drawing. Input Arguments: note - The note. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully show the note. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - Can't show the note. */ extern ProError ProDtlnoteRemove( ProDtlnote *note); /* Purpose: Remove a note. Make note in the database disappear on the drawing and continue to disappear after the drawing is regenerated. <B>NOTE: </B> The drawing must be current to use this function; to set a note to be undisplayed in a non-current drawing using ProDtlnotedataDisplayedSet() and regenerate the drawing. Input Arguments: note - The note. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully removed the note. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - Can't remove the note. */ extern ProError ProDrawingDtlnotesCollect( ProDrawing drawing, ProDtlsymdef *symbol, int sheet, ProDtlnote **notes); /* Purpose: Collect notes in the specified drawing. Input Arguments: drawing - The drawing handle. symbol - If you are collecting a note from the drawing, set the symbol to NULL. If you are collecting a note from a symbol definition, set the symbol to be that symbol definition. sheet - The sheet number. Set to PRO_VALUE_UNUSED for current sheet. Output Arguments: notes - The ProArray of notes. The function allocates memory for array. User must release memory by ProArrayFree. Return Values: PRO_TK_NO_ERROR - The function successfully collected the notes. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - The function failed. PRO_TK_OUT_OF_MEMORY - The function found too many entities to be contained in the output ProArray. Use ProDrawingDtlnoteVisit instead. PRO_TK_E_NOT_FOUND - No notes were found. */ extern ProError ProDrawingDtlnoteVisit( ProDrawing drawing, ProDtlsymdef *symbol, int sheet, ProDtlitemVisitAction visit_action, ProDtlitemFilterAction filter_action, ProAppData appdata); /* Purpose: Visit notes in the specified drawing. Input Arguments: drawing - The drawing handle. symbol - If you are visiting a note in the drawing, set the symbol to NULL. If you are visiting a note in a symbol definition, set the symbol to be that symbol definition. sheet - The sheet number. visit_action - Visit action function. filter_action - Filter action function. If NULL, all notes are visited using the action function. appdata - The application data. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully visited the notes. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_GENERAL_ERROR - The function failed. PRO_TK_E_NOT_FOUND - No notes were found. Other - Return value passed by the caller's visit function. */ extern ProError ProDtlnoteModelrefGet( ProDtlnote *note, ProDtlsyminst *symbol_inst, int line_index, int text_index, ProMdl *model ); /* Purpose: To provide the model to which parameterized text in a detail note refers. Input Arguments: note - The note symbol_inst - Symbol instance whose definition contains the note. Set to NULL if the note does not belong to a symbol. line_index - The index into the note's line array of the line containing the parameterized text. text_index - The index into the line's text array of the text item containing the parameterized text. Output Arguments: model - The model which contains the parameters the parameterized text refers to. Return Values: PRO_TK_NO_ERROR - The function successfully found the model. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnoteNoteGet (ProDtlnote *dtl_note, ProNote* solid_model_note); /* Purpose: Return the solid model note that shown as a detail note. Input Arguments: dtl_note - The drawing detail note that displays the model note. Output Arguments: solid_model_note - The solid model note. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the note. PRO_TK_BAD_INPUTS - The input argument is invalid. PRO_TK_NO_ACCESS - Input note is not accessible. PRO_TK_E_NOT_FOUND - The detail note does not show a solid model note. */ extern ProError ProDtlnoteGtolGet (ProDtlnote *dtl_note , ProGtol *gtol); /* Purpose: Return the geometric tolerance shown in a detail note. Input Arguments: dtl_note - The drawing detail note that displays the model note. Output Arguments: gtol - The geometric tolerance handle. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the note. PRO_TK_BAD_INPUTS - One or more input arguments is invalid. PRO_TK_E_NOT_FOUND - The note is not showing a geometric tolerance. */ /*================================================================*\ ProDtlnotedata functions \*=================================================================*/ extern ProError ProDtlnotedataAlloc(ProMdl owner, ProDtlnotedata *notedata); /* Purpose: Allocate and initialize memory for note data. User must release memory by ProDtlnotedataFree. Input Arguments: owner - The owner model of the note Output Arguments: notedata - The note data. Return Values: PRO_TK_NO_ERROR - The function successfully allocated memory. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotedataFree( ProDtlnotedata notedata); /* Purpose: Release memory allocated by ProDtlnotedataAlloc. (Also frees text lines, texts and leaders) Input Arguments: notedata - The note data. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully release memory. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnotedataIdGet( ProDtlnotedata notedata, int *id); /* Purpose: Gets a note id. Input Arguments: notedata - The note data. Output Arguments: id - The note id. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the note id. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnotedataLineAdd( ProDtlnotedata notedata, ProDtlnoteline line); /* Purpose: Adds a text line to note. Input Arguments: notedata - The note data. line - The text line. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully added the text line. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnoteldataLinesSet( ProDtlnotedata notedata, ProDtlnoteline *line); /* Purpose: Sets text lines to note. Input Arguments: notedata - The note data. line - ProArray of the text lines. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the text lines. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotedataLinesCollect( ProDtlnotedata notedata, ProDtlnoteline **lines); /* Purpose: Collect text lines in the specified note. Input Arguments: notedata - The note data. Output Arguments: lines - The ProArray of text lines. The function allocates memory for the array. User must release memory by ProArrayFree. Return Values: PRO_TK_NO_ERROR - The function successfully collected the text lines. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. PRO_TK_E_NOT_FOUND - No text lines were found. */ extern ProError ProDtlnotedataAttachmentGet( ProDtlnotedata notedata, ProDtlattach *attachment); /* Purpose: Gets an attachment for the specified note. Input Arguments: notedata - The note data. Output Arguments: attachment - The note attachment. Release memory using ProDtlattachFree Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the note attachment. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotedataAttachmentSet( ProDtlnotedata notedata, ProDtlattach attachment); /* Purpose: Sets an attachment for the specified note. Input Arguments: notedata - The note data attachment - The note color Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the note attachment. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnotedataLeadersCollect( ProDtlnotedata notedata, ProDtlattach **leaders); /* Purpose: Collect leaders in the specified note. Input Arguments: notedata - The note data. Output Arguments: leaders - The ProArray of leaders. The function allocates memory for the array. User must release memory by ProArrayFree. Return Values: PRO_TK_NO_ERROR - The function successfully collected the leaders. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. PRO_TK_E_NOT_FOUND - No leaders were found. */ extern ProError ProDtlnotedataLeadersSet( ProDtlnotedata notedata, ProDtlattach *leaders); /* Purpose: Sets leaders for the note. Input Arguments: notedata - The note data. leaders - The ProArray of leaders. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the leaders. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotedataLeaderAdd( ProDtlnotedata data, ProDtlattach leader); /* Purpose: Adds a leader to the note. Input Arguments: data - The note data. leader - The note leader. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully added the leader. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotedataElbowlengthGet( ProDtlnotedata data, ProBoolean *is_default, double *elbow_length); /* Purpose: Gets the elbow length for the specified note. Input Arguments: data - The note data. Output Arguments: is_default - The default flag. elbow_length - The note elbow length if is_default == PRO_B_FALSE. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the note elbow. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnotedataElbowlengthSet( ProDtlnotedata data, ProBoolean is_default, double elbow_length); /* Purpose: Sets the elbow length for the specified note. Input Arguments: data - The note data. is_default - The default flag. elbow_length - The note elbow length if is_default == PRO_B_FALSE. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the note elbow. PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ /*================================================================*\ ProDtlnotetext functions \*=================================================================*/ extern ProError ProDtlnotetextAlloc ( ProDtlnotetext *text ); /* Purpose: Allocate memory for the note text data. User must free memory with ProDtlnotetextFree(). Input Arguments: none Output Arguments: text - The note data handle Return Values: PRO_TK_NO_ERROR - Success PRO_TK_OUT_OF_MEMORY - The function can't allocate memory */ extern ProError ProDtlnotetextFree( ProDtlnotetext text); /* Purpose: Free memory that is allocated by ProDtlnotetextAlloc. Input Arguments: text - The note data handle. Output Arguments: none Return Values: PRO_TK_NO_ERROR - success; PRO_TK_BAD_INPUTS - the argument is invalid. */ extern ProError ProDtlnotetextUlineSet ( ProDtlnotetext text, ProBoolean underline); /* Purpose: Setup the text underline attribute. Input Arguments: text - The handle to the text underline - The underline attribute. Output Arguments: none Return Values: PRO_TK_NO_ERROR - success; PRO_TK_BAD_INPUTS - the argument is invalid. */ extern ProError ProDtlnotetextUlineGet ( ProDtlnotetext text, ProBoolean *underline); /* Purpose: Get the text underline attribute. Input Arguments: text - The handle to the text Output Arguments: underline - The underline attribute. Return Values: PRO_TK_NO_ERROR - success; PRO_TK_BAD_INPUTS - the argument is invalid. */ extern ProError ProDtlnotetextStringSet ( ProDtlnotetext text, ProLine string); /* Purpose: Setup the string field in the text. Input Arguments: text - The handle to the text string - The content of the text part. It can contain control characters to introduce special symbols, as described in the Drawing User's Guide. Output Arguments: none Return Values: PRO_TK_NO_ERROR - success; PRO_TK_BAD_INPUTS - the argument is invalid. */ extern ProError ProDtlnotetextStringGet ( ProDtlnotetext text, ProLine string); /* Purpose: Get the string field from the text. Input Arguments: text - The handle to the text Output Arguments: string - The content of the text part. It can contain control characters to introduce special symbols, as described in the Drawing User's Guide. Return Values: PRO_TK_NO_ERROR - success; PRO_TK_BAD_INPUTS - the argument is invalid. */ /*================================================================*\ ProDtlnoteline functions \*=================================================================*/ extern ProError ProDtlnotelineAlloc ( ProDtlnoteline *line); /* Purpose: Allocate memory for the note text line data. User must free memory by ProDtlnotelineFree() Input Arguments: none Output Arguments: line - The note text line handle. Return Values: PRO_TK_NO_ERROR - Success; PRO_TK_OUT_OF_MEMORY - The function can't allocate memory. */ extern ProError ProDtlnotelineFree ( ProDtlnoteline line); /* Purpose: Free memory that was allocated by ProDtlnotelineAlloc. Input Arguments: line - The note text line handle. Output Arguments: none Return Values: PRO_TK_NO_ERROR - success; PRO_TK_BAD_INPUTS - the argument is invalid. */ extern ProError ProDtlnotelineTextAdd ( ProDtlnoteline line, ProDtlnotetext text); /* Purpose: Add text to the note text line data. Input Arguments: line - The note text line handle. text - The handle to the text. Output Arguments: none Return Values: PRO_TK_NO_ERROR - Success; PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotelineTextsSet ( ProDtlnoteline line, ProDtlnotetext *texts); /* Purpose: Setup the text for the note text line data. Input Arguments: line - The note text line handle. texts - A ProArray of of text handles. Output Arguments: none Return Values: PRO_TK_NO_ERROR - Success; PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_OUT_OF_MEMORY - Not enough memory. */ extern ProError ProDtlnotelineTextsCollect ( ProDtlnoteline line, ProDtlnotetext **text); /* Purpose: Returns text entities contained in the note line. Each text entity can have its own properties and parametric references. Input Arguments: line - Line in note returned by function ProDtlnotedataLinesCollect(). Output Arguments: text - ProArray of text entities. Free the array memory with ProArayFree(). Return Values: PRO_TK_NO_ERROR - Function completed successfully PRO_TK_BAD_INPUTS - One or more bad arguments Pro_E_TK_NOT_FOUND - No text entities in specified line */ extern ProError ProDtlnotedataReadonlySet( ProDtlnotedata notedata, ProBoolean read_only ); /* Purpose: Sets read-only flag for the specified note. Input Arguments: notedata - The note data. read_only - PRO_B_TRUE to make note read-only, PRO_B_FALSE otherwise Output Arguments: none Return Values: PRO_TK_NO_ERROR - Success; PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnotedataReadonlyGet( ProDtlnotedata notedata, ProBoolean *read_only ); /* Purpose: Gets read-only flag for the specified note. Input Arguments: notedata - The note data. Output Arguments: read_only - PRO_B_TRUE if note is read-only, PRO_B_FALSE otherwise Return Values: PRO_TK_NO_ERROR - Success; PRO_TK_BAD_INPUTS - One or more arguments was invalid. */ extern ProError ProDtlnoteLineEnvelopeGet( ProDtlnote *note, int line, ProVector envel[4]); /* Purpose: Get the envelope of a line in specified note. Input Arguments: note - The note. line - The line number, counting from 0. Output Arguments: envel - The envelope, in screen coordinates. The order of coordinates are as:<pre><br> 0 -------- 1<br> | |<br> 2 -------- 3</pre> This ordering of points is preserved even if the note is mirrored and/or at an angle. Return Values: PRO_TK_NO_ERROR - Success. PRO_TK_BAD_INPUTS - One or more arguments was invalid. PRO_TK_EMPTY - The note is a blank string. */ extern ProError ProDtlnotedataIsDisplayed( ProDtlnotedata data, ProBoolean *is_displayed); /* Purpose: Checks if the draft note is displayed. Input Arguments: data - The draft note data. Output Arguments: is_displayed - PRO_B_TRUE if the note is displayed by default. PRO_B_FALSE if the note is hidden by default. Return Values: PRO_TK_NO_ERROR - The function completed successfully. PRO_TK_BAD_INPUTS - Invalid input argument(s). */ extern ProError ProDtlnotedataDisplayedSet( ProDtlnotedata data, ProBoolean displayed); /* Purpose: Marks the draft entity to be displayed Input Arguments: data - The draft note data. displayed - PRO_B_TRUE if the draft note should be displayed after every regeneration. PRO_B_FALSE if it should be undisplayed after every regeneration. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function completed successfully. PRO_TK_BAD_INPUTS - Invalid input argument(s). */ extern ProError ProDtlnoteDtlsyminstsCollect ( ProDtlnote* note, ProDtlsyminst** instances); /* Purpose: Returns a list of all symbol instances which are declared in a detail note via the "sym()" callout format. <P><B> Note: </B> The instances are returned in the order they are encountered in the note text. Input Arguments: note - The detail note. Output Arguments: instances - ProArray of symbol instances. Free this using ProArrayFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - There are no symbol instances generated as a callout in this note. */ extern ProError ProDtlnotetextStyleSet( ProDtlnotetext note_text, ProTextStyle r_text_style ); /* Purpose: Retrieves the text style of the specified text in the note Input Arguments: note_text - The note text. r_text_style - The text style of specified text in the note. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more inputs are NULL or invalid. */ extern ProError ProDtlnotetextStyleGet( ProDtlnotetext note_text, ProTextStyle *r_text_style ); /* Purpose: Retrieves the text style of the specified text in the note Input Arguments: note_text - The note text. Output Arguments: r_text_style - The text style of specified text in the note. Free this using ProTextStyleFree(). Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - One or more inputs are NULL or invalid. */ extern ProError ProDtlnotedataTextStyleSet(ProDtlnotedata note_data, ProTextStyle r_text_style ); /* Purpose: Set text style in the note_data. Input Arguments: note_data - The note data. r_text_style - The text style of the note. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more inputs are NULL or invalid. */ extern ProError ProDtlnotedataTextStyleGet (ProDtlnotedata note_data, ProTextStyle *r_text_style); /* Purpose: Retrieves the text style of the note. If the note has texts with different styles, the returned style will have a mixed state for attributes that aren't the same in all texts. Inquiry functions such as ProTextStyleFontGet will return PRO_TK_GENERAL_ERROR when the attribute is in a mixed state. Input Arguments: note_data - The note data. Output Arguments: r_text_style - The text style of the note. Free this using ProTextStyleFree(). Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - One or more inputs are NULL or invalid. */ extern ProError ProTextStyleVertJustificationSet (ProTextStyle text_style, ProVerticalJustification justification); /* Purpose: Assigns the vertical justification applied to the text style. Input Arguments: text_style - The text style. justification - The justification. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ extern ProError ProTextStyleVertJustificationGet (ProTextStyle text_style, ProVerticalJustification* justification); /* Purpose: Obtains the vertical justification applied to the text style. Input Arguments: text_style - The text style. Output Arguments: justification - The justification. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_E_NOT_FOUND - The input text style does not define a vertical justification. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ extern ProError ProDtlnoteTableCellGet(ProDtlnote *note, ProDwgtable *table, int *p_row, int *p_col); /* Purpose: Returns information on the table, and row and column within that table, for a table note. Input Arguments: note - The detail note. Output Arguments: table - The table (may be NULL). p_row - The row, indexed starting at 0 (may be NULL). p_col - The column, indexed starting at 0 (may be NULL). Return Values: PRO_TK_NO_ERROR - The function succeeded, outputs PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - This is not a table note. */ extern ProError ProDtlnoteWrapTextSet (ProDtlnote *note, ProBoolean wrap, double wrap_width); /* Purpose: Sets wrap text ON or OFF Input Arguments: note - The note. wrap - PRO_B_TRUE to wrap the text. wrap_width - width of text line. if wrap is PRO_B_TRUE Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ extern ProError ProDtlnoteWrapTextGet(ProDtlnote *note, ProBoolean *wrap, double* wrap_width); /* Purpose: Get wrap status of the text Input Arguments: note - The note. Output Arguments: wrap - PRO_B_TRUE of wrap is set. wrap_width - width of wrapped text line. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ PRO_END_C_DECLS #endif /* PRODTLNOTE_H */