@@ -21,7 +21,9 @@ idx_t prompt::printRaw(menuOut& out,idx_t len) const {
2121
2222Used prompt::printTo (navRoot &root,bool sel,menuOut& out, idx_t idx,idx_t len,idx_t panelNr) {
2323 trace (Serial<<" prompt::printTo" <<endl);
24+ #ifdef MENU_FMT_WRAPS
2425 out.fmtStart (menuOut::fmtPrompt,root.node (),idx);
26+ #endif
2527 idx_t r=printRaw (out,len);
2628 if (is ((systemStyles)(_menuData|_parentDraw|_asPad))
2729 // &&((&((menuNode*)root.node().target)->operator[](idx))==this)
@@ -31,7 +33,9 @@ Used prompt::printTo(navRoot &root,bool sel,menuOut& out, idx_t idx,idx_t len,id
3133 else
3234 out.previewMenu (root,*(menuNode*)this ,panelNr);
3335 }
36+ #ifdef MENU_FMT_WRAPS
3437 out.fmtEnd (menuOut::fmtPrompt,root.node (),idx);
38+ #endif
3539 return r;
3640}
3741
@@ -297,15 +301,19 @@ Used menuOut::printMenu(navNode &nav,idx_t panelNr) {
297301 // -----> panel start
298302 trace (Serial<<" panel start" <<endl);
299303 bool titleChanged=st||nav.target ->changed (nav,*this ,false );
300- fmtStart (fmtPanel,nav);
304+ #ifdef MENU_FMT_WRAPS
305+ fmtStart (fmtPanel,nav);
306+ #endif
301307 if (all||titleChanged) {
302308 trace (Serial<<" all:" <<all<<" panelNr:" <<panelNr<<endl);
303309 trace (Serial<<" {x:" <<pan.x <<" y:" <<pan.y <<" w:" <<pan.w <<" h:" <<pan.h <<" }" <<endl);
304310 if (all&&!asPad) clear (panelNr);
305311 if (st||asPad) {
306312 // /------> titleStart
307313 trace (Serial<<" title start" <<endl);
308- fmtStart (fmtTitle,nav,-1 );
314+ #ifdef MENU_FMT_WRAPS
315+ fmtStart (fmtTitle,nav,-1 );
316+ #endif
309317 if (!asPad) {
310318 setColor (titleColor,false );
311319 clearLine (0 ,panelNr);
@@ -317,12 +325,16 @@ Used menuOut::printMenu(navNode &nav,idx_t panelNr) {
317325 if (asPad) print (" :" );
318326 // else print(']');
319327 // /<----- titleEnd
320- fmtEnd (fmtTitle,nav,-1 );
328+ #ifdef MENU_FMT_WRAPS
329+ fmtEnd (fmtTitle,nav,-1 );
330+ #endif
321331 }
322332 }
323333 // ------> bodyStart
324334 trace (Serial<<" body start" <<endl);
325- fmtStart (fmtBody,nav);
335+ #ifdef MENU_FMT_WRAPS
336+ fmtStart (fmtBody,nav);
337+ #endif
326338 idx_t top=asPad?0 :tops[topi];
327339 // idx_t idxCnt=top;
328340 // idx_t exitCnt=0;
@@ -333,11 +345,15 @@ Used menuOut::printMenu(navNode &nav,idx_t panelNr) {
333345 idx_t len=pan.w ;
334346 if (all||p.changed (nav,*this ,false )) {
335347 // -------> opStart
336- fmtStart (fmtOp,nav,i);
348+ #ifdef MENU_FMT_WRAPS
349+ fmtStart (fmtOp,nav,i);
350+ #endif
337351 bool selected=nav.sel ==i+top;
338352 bool ed=nav.target ==&p;
339353 // -----> idxStart
340- fmtStart (fmtIdx,nav,i);
354+ #ifdef MENU_FMT_WRAPS
355+ fmtStart (fmtIdx,nav,i);
356+ #endif
341357 if (!asPad) {// pad MUST be able of clearing part of a line!!!!!
342358 clearLine (ist,panelNr,bgColor,selected,p.enabled );// <-- THIS IS DEPENDENT OF A DROP MENU!!!!
343359 setCursor (0 ,ist,panelNr);// <-- THIS IS MAKING A DROP MENU!!!!
@@ -358,16 +374,24 @@ Used menuOut::printMenu(navNode &nav,idx_t panelNr) {
358374 len-=3 ;
359375 }
360376 // <------idxEnd
361- fmtEnd (fmtIdx,nav,i);
377+ #ifdef MENU_FMT_WRAPS
378+ fmtEnd (fmtIdx,nav,i);
379+ #endif
362380 // ------> cursorStart
363- fmtStart (fmtCursor,nav,i);
381+ #ifdef MENU_FMT_WRAPS
382+ fmtStart (fmtCursor,nav,i);
383+ #endif
364384 if (asPad&&selected) print (" [" );
365385 else drawCursor (ist,selected,p.enabled ,ed,panelNr);// assuming only one character
366386 // <------ cursorEnd
367- fmtEnd (fmtCursor,nav,i);
387+ #ifdef MENU_FMT_WRAPS
388+ fmtEnd (fmtCursor,nav,i);
389+ #endif
368390 len--;
369391 // ---->opBodyStart
370- fmtStart (fmtOpBody,nav,i);
392+ #ifdef MENU_FMT_WRAPS
393+ fmtStart (fmtOpBody,nav,i);
394+ #endif
371395 setColor (fgColor,selected,p.enabled ,ed);
372396 if (len>0 ) len=p.printTo (*nav.root ,selected,*this ,i,len,panelNr);
373397 if (len>0 ) {
@@ -377,7 +401,9 @@ Used menuOut::printMenu(navNode &nav,idx_t panelNr) {
377401 }
378402 }
379403 // <---opBodyEnd
380- fmtEnd (fmtOpBody,nav,i);
404+ #ifdef MENU_FMT_WRAPS
405+ fmtEnd (fmtOpBody,nav,i);
406+ #endif
381407 if (selected&&panels.sz >panelNr+1 ) {
382408 if (p.isMenu ()) {
383409 // -----> previewStart
@@ -387,16 +413,22 @@ Used menuOut::printMenu(navNode &nav,idx_t panelNr) {
387413 } else if (panels.nodes [panelNr+1 ]) clear (panelNr+1 );
388414 }
389415 // opEnd
390- fmtEnd (fmtOp,nav,i);
416+ #ifdef MENU_FMT_WRAPS
417+ fmtEnd (fmtOp,nav,i);
418+ #endif
391419 }
392420 }
393421 }
394422 // <-----bodyEnd
395- fmtEnd (fmtBody,nav,-1 );
423+ #ifdef MENU_FMT_WRAPS
424+ fmtEnd (fmtBody,nav,-1 );
425+ #endif
396426 drawn=nav.target ;
397427 // lastSel=nav.sel;
398428 // <---- panel end
399- fmtEnd (fmtPanel,nav,-1 );
429+ #ifdef MENU_FMT_WRAPS
430+ fmtEnd (fmtPanel,nav,-1 );
431+ #endif
400432 return 0 ;
401433}
402434
@@ -722,16 +754,24 @@ Used fieldBase::printTo(navRoot &root,bool sel,menuOut& out, idx_t idx,idx_t len
722754 out.print ((root.navFocus ==this &&sel)?(tunning?' >' :' :' ):' ' );
723755 l++;
724756 if (l<len) {
725- out.fmtStart (menuOut::fmtField,root.node (),idx);
757+ #ifdef MENU_FMT_WRAPS
758+ out.fmtStart (menuOut::fmtField,root.node (),idx);
759+ #endif
726760 out.setColor (valColor,sel,enabled,ed);
727761 // out<<reflex;
728762 l+=printReflex (out);// NOTE: this can exceed the limits!
729- out.fmtEnd (menuOut::fmtField,root.node (),idx);
763+ #ifdef MENU_FMT_WRAPS
764+ out.fmtEnd (menuOut::fmtField,root.node (),idx);
765+ #endif
730766 if (l<len) {
731- out.fmtStart (menuOut::fmtUnit,root.node (),idx);
767+ #ifdef MENU_FMT_WRAPS
768+ out.fmtStart (menuOut::fmtUnit,root.node (),idx);
769+ #endif
732770 out.setColor (unitColor,sel,enabled,ed);
733771 l+=print_P (out,units (),len);
734- out.fmtEnd (menuOut::fmtUnit,root.node (),idx);
772+ #ifdef MENU_FMT_WRAPS
773+ out.fmtEnd (menuOut::fmtUnit,root.node (),idx);
774+ #endif
735775 }
736776 }
737777 }
@@ -749,11 +789,17 @@ Used menuVariantBase::printTo(navRoot &root,bool sel,menuOut& out, idx_t idx,idx
749789 if (len-l<0 ) return 0 ;
750790 out.print (this ==&root.active ()?' :' :' ' );
751791 l--;
792+ #ifdef MENU_FMT_WRAPS
752793 if (out.fmtStart (type ()==selectClass?menuOut::fmtSelect:menuOut::fmtChoose,root.node (),idx)==proceed) {
794+ #endif
753795 out.setColor (valColor,sel,prompt::enabled,ed);
754796 if (l>0 ) l-=operator [](at).printRaw (out,l);
797+ #ifdef MENU_FMT_WRAPS
755798 }
799+ #endif
800+ #ifdef MENU_FMT_WRAPS
756801 out.fmtEnd (type ()==selectClass?menuOut::fmtSelect:menuOut::fmtChoose,root.node (),idx);
802+ #endif
757803 trace (Serial<<" menuVariantBase::printTo ended!" <<endl);
758804 return len-l;
759805}
@@ -767,9 +813,13 @@ idx_t menuVariantBase::togglePrintTo(navRoot &root,bool sel,menuOut& out, idx_t
767813 out.setColor (valColor,sel,prompt::enabled,ed);
768814 // out<<menuNode::operator[](at);
769815 if (len-l>0 ) {
770- out.fmtStart (menuOut::fmtToggle,root.node (),idx);
816+ #ifdef MENU_FMT_WRAPS
817+ out.fmtStart (menuOut::fmtToggle,root.node (),idx);
818+ #endif
771819 l+=operator [](at).printRaw (out,len-l);
772- out.fmtEnd (menuOut::fmtToggle,root.node (),idx);
820+ #ifdef MENU_FMT_WRAPS
821+ out.fmtEnd (menuOut::fmtToggle,root.node (),idx);
822+ #endif
773823 }
774824 return l;
775825}
0 commit comments