1507 "/ #( selector (className iconQuerySelector) ) |
1507 "/ #( selector (className iconQuerySelector) ) |
1508 "/ or" |
1508 "/ or" |
1509 "/ #( nil ) |
1509 "/ #( nil ) |
1510 "/ |
1510 "/ |
1511 self buttonPanelSpec do:[:entry | |
1511 self buttonPanelSpec do:[:entry | |
1512 |sel b sep img iconSpec v| |
1512 |sel b sep img iconSpec v| |
1513 |
1513 |
1514 sel := entry at:1. |
1514 sel := entry at:1. |
1515 sel isNil ifTrue:[ |
1515 sel isNil ifTrue:[ |
1516 sep := View in:buttonPanel. |
1516 sep := View in:buttonPanel. |
1517 sep extent:32@1; borderWidth:0. |
1517 sep extent:32@1; borderWidth:0. |
1518 ] ifFalse:[ |
1518 ] ifFalse:[ |
1519 iconSpec := entry at:2. |
1519 iconSpec := entry at:2. |
1520 iconSpec isArray ifTrue:[ |
1520 iconSpec isArray ifTrue:[ |
1521 img := (Smalltalk classNamed:(iconSpec at:1)) perform:(iconSpec at:2). |
1521 img := (Smalltalk classNamed:(iconSpec at:1)) perform:(iconSpec at:2). |
1522 ] ifFalse:[ |
1522 ] ifFalse:[ |
1523 img := Image fromFile:iconSpec. |
1523 img := Smalltalk imageFromFileNamed:iconSpec forClass:self class. |
1524 ]. |
1524 img isNil ifTrue:[ |
1525 (img notNil and:[buttonSize notNil]) ifTrue:[ |
1525 img := Smalltalk imageFromFileNamed:iconSpec forClass:Launcher. |
1526 img extent ~= buttonSize ifTrue:[ |
1526 ] |
1527 img := img magnifiedTo:buttonSize |
1527 ]. |
1528 ] |
1528 (img notNil and:[buttonSize notNil]) ifTrue:[ |
1529 ]. |
1529 img extent ~= buttonSize ifTrue:[ |
1530 |
1530 img := img magnifiedTo:buttonSize |
1531 b := Button new. |
1531 ] |
1532 b form:img. |
1532 ]. |
1533 b model:self; changeMessage:sel. |
1533 |
1534 |
1534 b := Button new. |
1535 b styleSheet name = 'win95' ifTrue:[ |
1535 b form:img. |
1536 |
1536 b model:self; changeMessage:sel. |
1537 false ifTrue:[ |
1537 |
1538 "/ make buttons flat, popping up when entered ... |
1538 b styleSheet name = 'win95' ifTrue:[ |
1539 |
1539 |
1540 b enterLevel: 1. |
1540 false ifTrue:[ |
1541 b leaveLevel: 0. |
1541 "/ make buttons flat, popping up when entered ... |
1542 buttonPanel addSubView:b. |
1542 |
1543 |
1543 b enterLevel: 1. |
1544 ] ifFalse:[ |
1544 b leaveLevel: 0. |
1545 "/ make buttons flat, but given them a 3D frame ... |
1545 buttonPanel addSubView:b. |
1546 |
1546 |
1547 v := View in:buttonPanel. |
1547 ] ifFalse:[ |
1548 v addSubView:b. |
1548 "/ make buttons flat, but given them a 3D frame ... |
1549 v level:-1. |
1549 |
1550 b passiveLevel:1; activeLevel:-1. |
1550 v := View in:buttonPanel. |
1551 v extent:(b preferredExtent |
1551 v addSubView:b. |
1552 + b borderWidth + b borderWidth |
1552 v level:-1. |
1553 + b margin + b margin |
1553 b passiveLevel:1; activeLevel:-1. |
1554 + v margin + v margin). |
1554 v extent:(b preferredExtent |
1555 v preferredExtent:v extent. |
1555 + b borderWidth + b borderWidth |
1556 b origin:(v margin asPoint). |
1556 + b margin + b margin |
1557 ]. |
1557 + v margin + v margin). |
1558 b enteredBackgroundColor:(Color grey:80). |
1558 v preferredExtent:v extent. |
1559 ] ifFalse:[ |
1559 b origin:(v margin asPoint). |
1560 buttonPanel addSubView:b. |
1560 ]. |
1561 ]. |
1561 b enteredBackgroundColor:(Color grey:80). |
1562 ] |
1562 ] ifFalse:[ |
|
1563 buttonPanel addSubView:b. |
|
1564 ]. |
|
1565 ] |
1563 ]. |
1566 ]. |
1564 |
1567 |
1565 mh := myMenu height. |
1568 mh := myMenu height. |
1566 buttonPanel origin:0.0 @ (mh + spc) |
1569 buttonPanel origin:0.0 @ (mh + spc) |
1567 corner:(1.0 @ (mh + spc + buttonPanel preferredExtent y)). |
1570 corner:(1.0 @ (mh + spc + buttonPanel preferredExtent y)). |
1568 |
1571 |
1569 buttonPanel leftInset:spc; rightInset:spc. |
1572 buttonPanel leftInset:spc; rightInset:spc. |
1570 |
1573 |
1571 "Modified: 26.4.1997 / 21:02:39 / cg" |
1574 "Modified: 26.4.1997 / 21:02:39 / cg" |
1572 ! |
1575 ! |