View | Details | Raw Unified | Return to issue 109020
Collapse All | Expand All

(-)OpenOffice_3_1_0/starmath/inc/node.hxx (-2 / +11 lines)
Lines 488-502 public: Link Here
488
488
489
class SmLineNode : public SmStructureNode
489
class SmLineNode : public SmStructureNode
490
{
490
{
491
	BOOL  bUseExtraSpaces;
492
491
protected:
493
protected:
492
	SmLineNode(SmNodeType eNodeType, const SmToken &rNodeToken)
494
	SmLineNode(SmNodeType eNodeType, const SmToken &rNodeToken)
493
	:	SmStructureNode(eNodeType, rNodeToken)
495
	:	SmStructureNode(eNodeType, rNodeToken)
494
	{}
496
	{
497
		bUseExtraSpaces = TRUE;
498
	}
495
499
496
public:
500
public:
497
	SmLineNode(const SmToken &rNodeToken)
501
	SmLineNode(const SmToken &rNodeToken)
498
	:	SmStructureNode(NLINE, rNodeToken)
502
	:	SmStructureNode(NLINE, rNodeToken)
499
	{}
503
	{
504
		bUseExtraSpaces = TRUE;
505
	}
506
507
	void  SetUseExtraSpaces(BOOL bVal) { bUseExtraSpaces = bVal; }
508
	BOOL  IsUseExtraSpaces() const { return bUseExtraSpaces; };
500
509
501
	virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell);
510
	virtual void Prepare(const SmFormat &rFormat, const SmDocShell &rDocShell);
502
	virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
511
	virtual void Arrange(const OutputDevice &rDev, const SmFormat &rFormat);
(-)OpenOffice_3_1_0/starmath/inc/parse.hxx (-1 / +1 lines)
Lines 109-115 enum SmTokenType Link Here
109
	TLEFTARROW,		TRIGHTARROW,	TUPARROW,		TDOWNARROW,		TDIVIDES,
109
	TLEFTARROW,		TRIGHTARROW,	TUPARROW,		TDOWNARROW,		TDIVIDES,
110
	TNDIBVIDES,		TSETN,			TSETZ,			TSETQ,			TSETR,
110
	TNDIBVIDES,		TSETN,			TSETZ,			TSETQ,			TSETR,
111
	TSETC,			TWIDEVEC,		TWIDETILDE,		TWIDEHAT,		TWIDESLASH,
111
	TSETC,			TWIDEVEC,		TWIDETILDE,		TWIDEHAT,		TWIDESLASH,
112
	TWIDEBACKSLASH, TLDBRACKET,		TRDBRACKET,
112
	TWIDEBACKSLASH, TLDBRACKET,		TRDBRACKET,     TNOSPACE,
113
	TUNKNOWN,		TDEBUG
113
	TUNKNOWN,		TDEBUG
114
};
114
};
115
115
(-)OpenOffice_3_1_0/starmath/inc/starmath.hrc (+2 lines)
Lines 384-389 Link Here
384
#define RID_LSUPX					(RID_APP_START + 1916)
384
#define RID_LSUPX					(RID_APP_START + 1916)
385
#define RID_CSUBX					(RID_APP_START + 1917)
385
#define RID_CSUBX					(RID_APP_START + 1917)
386
#define RID_CSUPX					(RID_APP_START + 1918)
386
#define RID_CSUPX					(RID_APP_START + 1918)
387
#define RID_NOSPACE				(RID_APP_START + 1919)
387
388
388
#define RID_ALEPH					(RID_APP_START + 2001)
389
#define RID_ALEPH					(RID_APP_START + 2001)
389
#define RID_EMPTYSET				(RID_APP_START + 2002)
390
#define RID_EMPTYSET				(RID_APP_START + 2002)
Lines 699-704 Link Here
699
#define HID_SMA_DOTSDOWN			(HID_SMA_START + 240)
700
#define HID_SMA_DOTSDOWN			(HID_SMA_START + 240)
700
#define HID_SMA_DOTSLOW 			(HID_SMA_START + 241)
701
#define HID_SMA_DOTSLOW 			(HID_SMA_START + 241)
701
#define HID_SMA_DOTSVERT			(HID_SMA_START + 242)
702
#define HID_SMA_DOTSVERT			(HID_SMA_START + 242)
703
#define HID_SMA_NOSPACE			(HID_SMA_START + 243)
702
704
703
#define HID_SMA_SETN				(HID_SMA2_START + 1)
705
#define HID_SMA_SETN				(HID_SMA2_START + 1)
704
#define HID_SMA_SETZ				(HID_SMA2_START + 2)
706
#define HID_SMA_SETZ				(HID_SMA2_START + 2)
(-)OpenOffice_3_1_0/starmath/source/commands.src (+7 lines)
Lines 227-232 String RID_LEFTARROW { Text = "leftarro Link Here
227
String RID_RIGHTARROW		{ Text = "rightarrow " ; };
227
String RID_RIGHTARROW		{ Text = "rightarrow " ; };
228
String RID_UPARROW			{ Text = "uparrow " ; };
228
String RID_UPARROW			{ Text = "uparrow " ; };
229
String RID_DOWNARROW		{ Text = "downarrow " ; };
229
String RID_DOWNARROW		{ Text = "downarrow " ; };
230
String RID_NOSPACE			{ Text = "nospace {<?>} " ; };
230
231
231
232
232
//////////////////////////////////////////
233
//////////////////////////////////////////
Lines 1331-1336 Menu RID_COMMANDMENU Link Here
1331
					};
1332
					};
1332
					MenuItem
1333
					MenuItem
1333
					{
1334
					{
1335
						Identifier = RID_NOSPACE;
1336
						HelpId = HID_SMA_NOSPACE;
1337
						Text [ en-US ] = "nospace {...}";
1338
					};
1339
					MenuItem
1340
					{
1334
						Identifier = RID_BINOMXY;
1341
						Identifier = RID_BINOMXY;
1335
						HelpId = HID_SMA_BINOMXY;
1342
						HelpId = HID_SMA_BINOMXY;
1336
						Text = "binom x y";
1343
						Text = "binom x y";
(-)OpenOffice_3_1_0/starmath/source/node.cxx (-2 / +4 lines)
Lines 831-838 void SmLineNode::Arrange(const OutputDev Link Here
831
	if (nSize < 1)
831
	if (nSize < 1)
832
		return;
832
		return;
833
833
834
	// make distance depend on font size
834
	long  nDist = 0;
835
	long  nDist = +(rFormat.GetDistance(DIS_HORIZONTAL)
835
	if (IsUseExtraSpaces())
836
		// make distance depend on font size
837
		nDist = +(rFormat.GetDistance(DIS_HORIZONTAL)
836
					* GetFont().GetSize().Height()) / 100L;
838
					* GetFont().GetSize().Height()) / 100L;
837
839
838
	Point   aPos;
840
	Point   aPos;
(-)OpenOffice_3_1_0/starmath/source/parse.cxx (-4 / +43 lines)
Lines 245-256 static const SmTokenTableEntry aTokenTab Link Here
245
	{ "ni", TNI, MS_NI, TGRELATION, 0},
245
	{ "ni", TNI, MS_NI, TGRELATION, 0},
246
	{ "nitalic", TNITALIC, '\0', TGFONTATTR, 5},
246
	{ "nitalic", TNITALIC, '\0', TGFONTATTR, 5},
247
	{ "none", TNONE, '\0', TGLBRACES | TGRBRACES, 0},
247
	{ "none", TNONE, '\0', TGLBRACES | TGRBRACES, 0},
248
	{ "nospace", TNOSPACE, '\0', TGSTANDALONE, 5},
248
	{ "notin", TNOTIN, MS_NOTIN, TGRELATION, 0},
249
	{ "notin", TNOTIN, MS_NOTIN, TGRELATION, 0},
250
	{ "nroot", TNROOT, MS_SQRT, TGUNOPER, 5},
249
	{ "nsubset", TNSUBSET, MS_NSUBSET, TGRELATION, 0 },
251
	{ "nsubset", TNSUBSET, MS_NSUBSET, TGRELATION, 0 },
250
	{ "nsupset", TNSUPSET, MS_NSUPSET, TGRELATION, 0 },
252
	{ "nsupset", TNSUPSET, MS_NSUPSET, TGRELATION, 0 },
251
	{ "nsubseteq", TNSUBSETEQ, MS_NSUBSETEQ, TGRELATION, 0 },
253
	{ "nsubseteq", TNSUBSETEQ, MS_NSUBSETEQ, TGRELATION, 0 },
252
	{ "nsupseteq", TNSUPSETEQ, MS_NSUPSETEQ, TGRELATION, 0 },
254
	{ "nsupseteq", TNSUPSETEQ, MS_NSUPSETEQ, TGRELATION, 0 },
253
	{ "nroot", TNROOT, MS_SQRT, TGUNOPER, 5},
254
	{ "odivide", TODIVIDE, MS_ODIVIDE, TGPRODUCT, 0},
255
	{ "odivide", TODIVIDE, MS_ODIVIDE, TGPRODUCT, 0},
255
	{ "odot", TODOT, MS_ODOT, TGPRODUCT, 0},
256
	{ "odot", TODOT, MS_ODOT, TGPRODUCT, 0},
256
	{ "ominus", TOMINUS, MS_OMINUS, TGSUM, 0},
257
	{ "ominus", TOMINUS, MS_OMINUS, TGSUM, 0},
Lines 734-740 void SmParser::NextToken() Link Here
734
                        xub_StrLen nTmpStart = sal::static_int_cast< xub_StrLen >(rnEndPos +
735
                        xub_StrLen nTmpStart = sal::static_int_cast< xub_StrLen >(rnEndPos +
735
                                                    aTmpRes.LeadingWhiteSpace);
736
                                                    aTmpRes.LeadingWhiteSpace);
736
737
737
                        // default setting fo the case that no identifier
738
                        // default setting for the case that no identifier
738
                        // i.e. a valid symbol-name is following the '%'
739
                        // i.e. a valid symbol-name is following the '%'
739
                        // character
740
                        // character
740
                        CurToken.eType      = TTEXT;
741
                        CurToken.eType      = TTEXT;
Lines 1135-1140 void SmParser::Line() Link Here
1135
1136
1136
void SmParser::Expression()
1137
void SmParser::Expression()
1137
{
1138
{
1139
	BOOL bUseExtraSpaces = TRUE;
1140
	SmNode *pNode = NodeStack.Pop();
1141
	if (pNode)
1142
		if (pNode->GetToken().eType == TNOSPACE)
1143
			bUseExtraSpaces = FALSE;
1144
		else
1145
			NodeStack.Push(pNode);
1146
1138
	USHORT		 n = 0;
1147
	USHORT		 n = 0;
1139
	SmNodeArray  RelationArray;
1148
	SmNodeArray  RelationArray;
1140
1149
Lines 1150-1157 void SmParser::Expression() Link Here
1150
		RelationArray.Put(n - 1, NodeStack.Pop());
1159
		RelationArray.Put(n - 1, NodeStack.Pop());
1151
	}
1160
	}
1152
1161
1153
	SmStructureNode *pSNode = new SmExpressionNode(CurToken);
1162
	SmExpressionNode *pSNode = new SmExpressionNode(CurToken);
1154
	pSNode->SetSubNodes(RelationArray);
1163
	pSNode->SetSubNodes(RelationArray);
1164
	pSNode->SetUseExtraSpaces(bUseExtraSpaces);
1155
	NodeStack.Push(pSNode);
1165
	NodeStack.Push(pSNode);
1156
}
1166
}
1157
1167
Lines 1273-1279 void SmParser::SubSup(ULONG nActiveGroup Link Here
1273
		return;
1283
		return;
1274
1284
1275
	SmSubSupNode *pNode = new SmSubSupNode(CurToken);
1285
	SmSubSupNode *pNode = new SmSubSupNode(CurToken);
1276
	//! Of course 'CurToken' ist just the first sub-/supscript token.
1286
	//! Of course 'CurToken' is just the first sub-/supscript token.
1277
	//! It should be of no further interest. The positions of the
1287
	//! It should be of no further interest. The positions of the
1278
	//! sub-/supscripts will be identified by the corresponding subnodes
1288
	//! sub-/supscripts will be identified by the corresponding subnodes
1279
	//! index in the 'aSubNodes' array (enum value from 'SmSubSup').
1289
	//! index in the 'aSubNodes' array (enum value from 'SmSubSup').
Lines 1409-1414 void SmParser::Term() Link Here
1409
			Blank();
1419
			Blank();
1410
			break;
1420
			break;
1411
1421
1422
		case TNOSPACE :
1423
			NodeStack.Push(new SmExpressionNode(CurToken));
1424
			NextToken();
1425
			if (CurToken.eType != TLGROUP)
1426
			{	NodeStack.Pop();
1427
				Term();
1428
			}
1429
			else	// _almost_ the same as in TLGROUP
1430
			{	NextToken();
1431
				// allow for empty group
1432
				if (CurToken.eType == TRGROUP)
1433
				{	NodeStack.Pop();
1434
					SmStructureNode *pSNode = new SmExpressionNode(CurToken);
1435
					pSNode->SetSubNodes(NULL, NULL);
1436
					NodeStack.Push(pSNode);
1437
1438
					NextToken();
1439
				}
1440
				else	// go as usual
1441
				{	Align();
1442
					if (CurToken.eType != TRGROUP)
1443
						Error(PE_RGROUP_EXPECTED);
1444
					else
1445
					{	NextToken();
1446
					}
1447
				}
1448
			}
1449
			break;
1450
1412
		case TTEXT :
1451
		case TTEXT :
1413
			NodeStack.Push(new SmTextNode(CurToken, FNT_TEXT));
1452
			NodeStack.Push(new SmTextNode(CurToken, FNT_TEXT));
1414
			NextToken();
1453
			NextToken();
(-)OpenOffice_3_1_0/starmath/source/smres.src (-2 / +13 lines)
Lines 2655-2661 FloatingWindow RID_TOOLBOXWINDOW Link Here
2655
		Size = MAP_APPFONT ( 65 , 95 ) ;
2655
		Size = MAP_APPFONT ( 65 , 95 ) ;
2656
		SVLook = TRUE ;
2656
		SVLook = TRUE ;
2657
		Hide = TRUE ;
2657
		Hide = TRUE ;
2658
		LineCount = 3 ;
2658
		LineCount = 4 ;
2659
		ItemList =
2659
		ItemList =
2660
		{
2660
		{
2661
			ToolBoxItem
2661
			ToolBoxItem
Lines 2757-2762 FloatingWindow RID_TOOLBOXWINDOW Link Here
2757
				HelpId = HID_SMA_BLANK ;
2757
				HelpId = HID_SMA_BLANK ;
2758
				Text [ en-US ] = "Gap" ;
2758
				Text [ en-US ] = "Gap" ;
2759
			};
2759
			};
2760
			ToolBoxItem
2761
			{
2762
				Type = TOOLBOXITEM_BREAK ;
2763
			};
2764
			ToolBoxItem
2765
			{
2766
				Identifier = RID_NOSPACE ;
2767
				HelpId = HID_SMA_NOSPACE ;
2768
				Text [ en-US ] = "Remove extra spaces" ;
2769
			};
2760
		};
2770
		};
2761
	};
2771
	};
2762
	ToolBox 9
2772
	ToolBox 9
Lines 3291-3298 DockingWindow RID_CMDBOXWINDOW\ Link Here
3291
        RID_LSUPX ;         \
3301
        RID_LSUPX ;         \
3292
        RID_CSUBX ;         \
3302
        RID_CSUBX ;         \
3293
        RID_CSUPX ;         \
3303
        RID_CSUPX ;         \
3304
        RID_NOSPACE ;       \
3294
    };                      \
3305
    };                      \
3295
    IdCount = { 15 ; };
3306
    IdCount = { 16 ; };
3296
3307
3297
    ImageList RID_IL_FORMAT
3308
    ImageList RID_IL_FORMAT
3298
    {
3309
    {
(-)OpenOffice_3_1_0/starmath/source/toolbox.cxx (-1 / +1 lines)
Lines 345-351 void SmToolBoxWindow::SetCategory(USHORT Link Here
345
            case RID_ATTRIBUTES_CAT:    nLines = 5; break;
345
            case RID_ATTRIBUTES_CAT:    nLines = 5; break;
346
            case RID_MISC_CAT:          nLines = 4; break;
346
            case RID_MISC_CAT:          nLines = 4; break;
347
            case RID_BRACKETS_CAT:      nLines = 5; break;
347
            case RID_BRACKETS_CAT:      nLines = 5; break;
348
            case RID_FORMAT_CAT:        nLines = 3; break;
348
            case RID_FORMAT_CAT:        nLines = 4; break;
349
			default:
349
			default:
350
				// nothing to be done
350
				// nothing to be done
351
				return;
351
				return;

Return to issue 109020