Subversion Repositories Kolibri OS

Rev

Rev 9731 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9731 Rev 9902
Line 1... Line 1...
1
(*
1
(*
2
    Copyright 2021, 2022 Anton Krotov
2
    Copyright 2021-2023 Anton Krotov
Line 3... Line 3...
3
 
3
 
Line 4... Line 4...
4
    This file is part of CEdit.
4
    This file is part of CEdit.
5
 
5
 
Line 236... Line 236...
236
PROCEDURE exit (m: tMenu);
236
PROCEDURE exit (m: tMenu);
237
BEGIN
237
BEGIN
238
    m.active := FALSE;
238
    m.active := FALSE;
239
   	resetTimer;
239
   	resetTimer;
240
    m.tid := 0;
240
    m.tid := 0;
-
 
241
    G.destroy(m.canvas);
241
    K.Exit
242
    K.Exit
242
END exit;
243
END exit;
Line 243... Line 244...
243
 
244
 
Line 247... Line 248...
247
    m.active := FALSE;
248
    m.active := FALSE;
248
    IF m.parent = NIL THEN
249
    IF m.parent = NIL THEN
249
    	resetTimer
250
    	resetTimer
250
    END;
251
    END;
251
    m.tid := 0;
252
    m.tid := 0;
-
 
253
    G.destroy(m.canvas);
252
    K.Exit
254
    K.Exit
253
END escape;
255
END escape;
Line 254... Line 256...
254
 
256
 
Line 352... Line 354...
352
    		close(m.child);
354
    		close(m.child);
353
    		m.child := NIL
355
    		m.child := NIL
354
    	END;
356
    	END;
355
    	temp := m.tid;
357
    	temp := m.tid;
356
    	m.tid := 0;
358
    	m.tid := 0;
-
 
359
    	G.destroy(m.canvas);
357
        K.ExitID(temp);
360
        K.ExitID(temp);
358
        m.active := FALSE
361
        m.active := FALSE
359
    END
362
    END
360
END close;
363
END close;
Line 507... Line 510...
507
            ELSE
510
            ELSE
508
	            IF getShortcut(key) THEN
511
	            IF getShortcut(key) THEN
509
	            	IF m.parent # NIL THEN
512
	            	IF m.parent # NIL THEN
510
	            		temp := m.parent.tid;
513
	            		temp := m.parent.tid;
511
	            		m.parent.tid := 0;
514
	            		m.parent.tid := 0;
-
 
515
	            		G.destroy(m.parent.canvas);
512
	            		K.ExitID(temp)
516
	            		K.ExitID(temp)
513
	            	END;
517
	            	END;
514
	                exit(m)
518
	                exit(m)
515
	            END
519
	            END
516
            END;
520
            END;
Line 565... Line 569...
565
    IF m.tid = 0 THEN
569
    IF m.tid = 0 THEN
566
        L := level(m);
570
        L := level(m);
567
        IF K.GetThreadSlot(TIDs[L]) = 0 THEN
571
        IF K.GetThreadSlot(TIDs[L]) = 0 THEN
568
        	m.winX := x;
572
        	m.winX := x;
569
        	m.winY := y;
573
        	m.winY := y;
-
 
574
        	IF m.canvas = NIL THEN
-
 
575
    			m.canvas := G.CreateCanvas(m.width + 1, m.height + 1);
-
 
576
			    G.SetFont(m.canvas, m.font)
-
 
577
    		END;
570
	        SYSTEM.PUT(SYSTEM.ADR(stack[L][LEN(stack[0]) - 1]), m);
578
	        SYSTEM.PUT(SYSTEM.ADR(stack[L][LEN(stack[0]) - 1]), m);
571
    	    m.tid := K.CreateThread(SYSTEM.ADR(window), stack[L]);
579
    	    m.tid := K.CreateThread(SYSTEM.ADR(window), stack[L]);
572
        	TIDs[L] := m.tid
580
        	TIDs[L] := m.tid
573
        END
581
        END
574
    END
582
    END
Line 676... Line 684...
676
        item := item.next(tItem)
684
        item := item.next(tItem)
677
    END;
685
    END;
678
    m.width  := maxLength*fontWidth + LEFT + RIGHT;
686
    m.width  := maxLength*fontWidth + LEFT + RIGHT;
679
    m.height := items.count*itemHeight - 2;
687
    m.height := items.count*itemHeight - 2;
680
    m.font := G.fonts[1];
688
    m.font := G.fonts[1];
681
    m.canvas := G.CreateCanvas(m.width + 1, m.height + 1);
689
(*    m.canvas := G.CreateCanvas(m.width + 1, m.height + 1);
682
    G.SetFont(m.canvas, m.font)
690
    G.SetFont(m.canvas, m.font)*)
683
    RETURN m
691
    RETURN m
684
END create;
692
END create;
Line 685... Line 693...
685
 
693