- and will behave as a scrolling text edit field inside of a window.
- This routine performs all of the initialization steps necessary,
- except it does not create the user pane control itself. theControl
- should refer to a user pane control that you have either created
- yourself or extracted from a dialog's control heirarchy using
- the GetDialogItemAsControl routine. */
-OSStatus mUPOpenControl(ControlHandle theControl) {
- Rect bounds;
- WindowPtr theWindow;
- STPTextPaneVars **tpvars, *varsp;
- OSStatus err;
- RGBColor rgbWhite = {0xFFFF, 0xFFFF, 0xFFFF};
- TXNBackground tback;
-
- /* set up our globals */
- if (gTPDrawProc == NULL) gTPDrawProc = NewControlUserPaneDrawUPP(TPPaneDrawProc);
- if (gTPHitProc == NULL) gTPHitProc = NewControlUserPaneHitTestUPP(TPPaneHitTestProc);
- if (gTPTrackProc == NULL) gTPTrackProc = NewControlUserPaneTrackingUPP(TPPaneTrackingProc);
- if (gTPIdleProc == NULL) gTPIdleProc = NewControlUserPaneIdleUPP(TPPaneIdleProc);
- if (gTPKeyProc == NULL) gTPKeyProc = NewControlUserPaneKeyDownUPP(TPPaneKeyDownProc);
- if (gTPActivateProc == NULL) gTPActivateProc = NewControlUserPaneActivateUPP(TPPaneActivateProc);
- if (gTPFocusProc == NULL) gTPFocusProc = NewControlUserPaneFocusUPP(TPPaneFocusProc);
-
- /* allocate our private storage */
- tpvars = (STPTextPaneVars **) NewHandleClear(sizeof(STPTextPaneVars));
- SetControlReference(theControl, (long) tpvars);
- HLock((Handle) tpvars);
- varsp = *tpvars;
- /* set the initial settings for our private data */
- varsp->fInFocus = false;
- varsp->fIsActive = true;
- varsp->fTEActive = false;
- varsp->fUserPaneRec = theControl;
- theWindow = varsp->fOwner = GetControlOwner(theControl);
+ and will behave as a scrolling text edit field inside of a window.
+ This routine performs all of the initialization steps necessary,
+ except it does not create the user pane control itself. theControl
+ should refer to a user pane control that you have either created
+ yourself or extracted from a dialog's control heirarchy using
+ the GetDialogItemAsControl routine. */
+OSStatus mUPOpenControl(ControlHandle theControl, bool multiline) {
+ Rect bounds;
+ WindowPtr theWindow;
+ STPTextPaneVars **tpvars, *varsp;
+ OSStatus err;
+ RGBColor rgbWhite = {0xFFFF, 0xFFFF, 0xFFFF};
+ TXNBackground tback;
+
+ /* set up our globals */
+ if (gTPDrawProc == NULL) gTPDrawProc = NewControlUserPaneDrawUPP(TPPaneDrawProc);
+ if (gTPHitProc == NULL) gTPHitProc = NewControlUserPaneHitTestUPP(TPPaneHitTestProc);
+ if (gTPTrackProc == NULL) gTPTrackProc = NewControlUserPaneTrackingUPP(TPPaneTrackingProc);
+ if (gTPIdleProc == NULL) gTPIdleProc = NewControlUserPaneIdleUPP(TPPaneIdleProc);
+ if (gTPKeyProc == NULL) gTPKeyProc = NewControlUserPaneKeyDownUPP(TPPaneKeyDownProc);
+ if (gTPActivateProc == NULL) gTPActivateProc = NewControlUserPaneActivateUPP(TPPaneActivateProc);
+ if (gTPFocusProc == NULL) gTPFocusProc = NewControlUserPaneFocusUPP(TPPaneFocusProc);
+
+ /* allocate our private storage */
+ tpvars = (STPTextPaneVars **) NewHandleClear(sizeof(STPTextPaneVars));
+ SetControlReference(theControl, (long) tpvars);
+ HLock((Handle) tpvars);
+ varsp = *tpvars;
+ /* set the initial settings for our private data */
+ varsp->fInFocus = false;
+ varsp->fIsActive = true;
+ varsp->fTEActive = false;
+ varsp->fUserPaneRec = theControl;
+ theWindow = varsp->fOwner = GetControlOwner(theControl);