319 |
319 |
320 #(#FullSpec |
320 #(#FullSpec |
321 #window: |
321 #window: |
322 #(#WindowSpec |
322 #(#WindowSpec |
323 #name: 'DataSet Basic' |
323 #name: 'DataSet Basic' |
324 #layout: #(#LayoutFrame 85 0 154 0 407 0 480 0) |
324 #layout: #(#LayoutFrame 216 0 173 0 538 0 499 0) |
|
325 #level: 0 |
325 #label: 'DataSet Basic' |
326 #label: 'DataSet Basic' |
326 #min: #(#Point 10 10) |
327 #min: #(#Point 10 10) |
327 #max: #(#Point 1280 1024) |
328 #max: #(#Point 1280 1024) |
328 #bounds: #(#Rectangle 85 154 408 481) |
329 #bounds: #(#Rectangle 216 173 539 500) |
329 #usePreferredExtent: false |
330 #usePreferredExtent: false |
330 ) |
331 ) |
331 #component: |
332 #component: |
332 #(#SpecCollection |
333 #(#SpecCollection |
333 #collection: |
334 #collection: |
350 #layout: #(#LayoutFrame 97 0 28 0 2 1.0 50 0) |
351 #layout: #(#LayoutFrame 97 0 28 0 2 1.0 50 0) |
351 #activeHelpKey: #basicsLabel |
352 #activeHelpKey: #basicsLabel |
352 #tabable: true |
353 #tabable: true |
353 #model: #label |
354 #model: #label |
354 #type: #smalltalkObject |
355 #type: #smalltalkObject |
355 #immediateAccept: false |
356 #immediateAccept: true |
356 #acceptOnLeave: true |
357 #acceptOnLeave: true |
|
358 #acceptOnLostFocus: true |
357 ) |
359 ) |
358 #(#LabelSpec |
360 #(#LabelSpec |
359 #name: 'LabelFont' |
361 #name: 'LabelFont' |
360 #layout: #(#AlignmentOrigin 94 0 68 0 1 0.5) |
362 #layout: #(#AlignmentOrigin 94 0 68 0 1 0.5) |
361 #label: 'Font:' |
363 #label: 'Font:' |
|
364 #resizeForLabel: true |
362 #adjust: #left |
365 #adjust: #left |
363 #resizeForLabel: true |
|
364 ) |
366 ) |
365 #(#FontMenuSpec |
367 #(#FontMenuSpec |
366 #name: 'fontMenu' |
368 #name: 'fontMenu' |
367 #layout: #(#LayoutFrame 97 0 56 0 0 1.0 78 0) |
369 #layout: #(#LayoutFrame 97 0 56 0 0 1.0 78 0) |
368 #activeHelpKey: #labelFont |
370 #activeHelpKey: #labelFont |
382 ) |
384 ) |
383 #(#LabelSpec |
385 #(#LabelSpec |
384 #name: 'JustificationLabel' |
386 #name: 'JustificationLabel' |
385 #layout: #(#AlignmentOrigin 140 0 96 0 1 0.5) |
387 #layout: #(#AlignmentOrigin 140 0 96 0 1 0.5) |
386 #label: 'Justification:' |
388 #label: 'Justification:' |
|
389 #resizeForLabel: true |
387 #adjust: #left |
390 #adjust: #left |
388 #resizeForLabel: true |
|
389 ) |
391 ) |
390 #(#CheckBoxSpec |
392 #(#CheckBoxSpec |
391 #name: 'labelIsImage' |
393 #name: 'labelIsImage' |
392 #layout: #(#LayoutOrigin -3 0 110 0) |
394 #layout: #(#LayoutOrigin -3 0 110 0) |
393 #activeHelpKey: #basicsLabelIsImage |
395 #activeHelpKey: #basicsLabelIsImage |
829 |
831 |
830 #(#FullSpec |
832 #(#FullSpec |
831 #window: |
833 #window: |
832 #(#WindowSpec |
834 #(#WindowSpec |
833 #name: 'DataSet Dimension' |
835 #name: 'DataSet Dimension' |
834 #layout: #(#LayoutFrame 44 0 255 0 368 0 602 0) |
836 #layout: #(#LayoutFrame 216 0 173 0 540 0 520 0) |
|
837 #level: 0 |
835 #label: 'DataSet Dimension' |
838 #label: 'DataSet Dimension' |
836 #min: #(#Point 10 10) |
839 #min: #(#Point 10 10) |
837 #max: #(#Point 1280 1024) |
840 #max: #(#Point 1280 1024) |
838 #bounds: #(#Rectangle 44 255 369 603) |
841 #bounds: #(#Rectangle 216 173 541 521) |
839 #usePreferredExtent: false |
842 #usePreferredExtent: false |
840 ) |
843 ) |
841 #component: |
844 #component: |
842 #(#SpecCollection |
845 #(#SpecCollection |
843 #collection: |
846 #collection: |
2558 formatString type size height canSelect selectSelector showComboFieldSelector |
2563 formatString type size height canSelect selectSelector showComboFieldSelector |
2559 ) do:[:aKey| |
2564 ) do:[:aKey| |
2560 (aspects at:aKey) value:nil |
2565 (aspects at:aKey) value:nil |
2561 ] |
2566 ] |
2562 ]. |
2567 ]. |
2563 aspects keysAndValuesDo:[:aKey :aModel| column perform:(aKey , ':') asSymbol with: aModel value]. |
2568 aspects keysAndValuesDo:[:aKey :aModel| |
|
2569 column perform:(aKey , ':') asSymbol with: aModel value |
|
2570 ]. |
2564 self seqList at:selectedColumnIndex put:(self labelFromColumn:column). |
2571 self seqList at:selectedColumnIndex put:(self labelFromColumn:column). |
2565 self updateColumnView. |
2572 self updateColumnView. |
2566 self cancel. |
2573 self cancel. |
2567 modified := true. |
2574 modified := true. |
2568 |
2575 |
2576 self columnIsNotEditing value: true. |
2583 self columnIsNotEditing value: true. |
2577 |
2584 |
2578 "Modified: / 27.10.1998 / 14:41:41 / cg" |
2585 "Modified: / 27.10.1998 / 14:41:41 / cg" |
2579 ! |
2586 ! |
2580 |
2587 |
2581 doBrowseRowClass |
2588 cutOrDelete:isCut |
2582 "browse class of columns spec" |
2589 "remove selected column and optionally put it to the clipboard" |
2583 |
|
2584 |cls| |
|
2585 |
|
2586 (cls := self resolveRowClass) notNil |
|
2587 ifTrue: [SystemBrowser openInClass:cls] |
|
2588 ifFalse:[self information:'No class defined !!'] |
|
2589 |
|
2590 "Modified: / 20.5.1998 / 03:48:04 / cg" |
|
2591 ! |
|
2592 |
|
2593 doCopy |
|
2594 "copy selected column to the clipboard" |
|
2595 |
|
2596 |idx| |
|
2597 |
|
2598 (idx := selectedColumnIndex) ~~ 0 |
|
2599 ifTrue: |
|
2600 [ |
|
2601 self clipboard: (columns at: idx) deepCopy |
|
2602 ] |
|
2603 ! |
|
2604 |
|
2605 doCreateColumn |
|
2606 "create a new column after selected column or at left (nothing selected)" |
|
2607 |
|
2608 |label list| |
|
2609 |
|
2610 list := self seqList. |
|
2611 label := 'Column ', (list size + 1) printString. |
|
2612 columns add:(DataSetColumnSpec label:label selector:nil) afterIndex:selectedColumnIndex. |
|
2613 self seqList add:label afterIndex:selectedColumnIndex. |
|
2614 self valueOfEnablingCommitButtons value ifFalse:[self selectedColumnModel value:selectedColumnIndex + 1]. |
|
2615 self cancel. |
|
2616 self updateColumnView. |
|
2617 modified := true. |
|
2618 |
|
2619 ! |
|
2620 |
|
2621 doCut |
|
2622 "remove selected column and put it to the clipboard" |
|
2623 |
2590 |
2624 |idx| |
2591 |idx| |
2625 |
2592 |
2626 ((idx := selectedColumnIndex) ~~ 0 and: [self askForItemModification]) |
2593 ((idx := selectedColumnIndex) ~~ 0 and: [self askForItemModification]) |
2627 ifTrue: |
2594 ifTrue: |
2628 [ |
2595 [ |
2629 self selectedColumnModel value:0. |
2596 self selectedColumnModel value:0. |
2630 self clipboard: (columns at: idx). |
2597 isCut ifTrue:[self clipboard: (columns at: idx)]. |
2631 columns removeIndex:idx. |
2598 columns removeIndex:idx. |
2632 self seqList removeIndex:idx. |
2599 self seqList removeIndex:idx. |
2633 columns size > 0 ifTrue: [self selectedColumnModel value: ((idx - 1) max: 1)]. |
2600 columns size > 0 ifTrue: [self selectedColumnModel value: ((idx - 1) max: 1)]. |
2634 self updateColumnView. |
2601 self updateColumnView. |
2635 self updateInputFields. |
2602 self updateInputFields. |
2636 columns isEmpty ifTrue: [self isColumnSelected value: false]. |
2603 columns isEmpty ifTrue: [self isColumnSelected value: false]. |
2637 self cancel. |
2604 self cancel. |
2638 modified := true. |
2605 modified := true. |
2639 ] |
2606 ] |
|
2607 ! |
|
2608 |
|
2609 doBrowseRowClass |
|
2610 "browse class of columns spec" |
|
2611 |
|
2612 |cls| |
|
2613 |
|
2614 (cls := self resolveRowClass) notNil |
|
2615 ifTrue: [SystemBrowser openInClass:cls] |
|
2616 ifFalse:[self information:'No class defined !!'] |
|
2617 |
|
2618 "Modified: / 20.5.1998 / 03:48:04 / cg" |
|
2619 ! |
|
2620 |
|
2621 doCopy |
|
2622 "copy selected column to the clipboard" |
|
2623 |
|
2624 |idx| |
|
2625 |
|
2626 (idx := selectedColumnIndex) ~~ 0 |
|
2627 ifTrue: |
|
2628 [ |
|
2629 self clipboard: (columns at: idx) deepCopy |
|
2630 ] |
|
2631 ! |
|
2632 |
|
2633 doCreateColumn |
|
2634 "create a new column after selected column or at left (nothing selected)" |
|
2635 |
|
2636 |label list| |
|
2637 |
|
2638 list := self seqList. |
|
2639 label := 'Column ', (list size + 1) printString. |
|
2640 columns add:(DataSetColumnSpec label:label selector:nil) afterIndex:selectedColumnIndex. |
|
2641 self seqList add:label afterIndex:selectedColumnIndex. |
|
2642 self valueOfEnablingCommitButtons value ifFalse:[ |
|
2643 self selectedColumnModel value:selectedColumnIndex + 1 |
|
2644 ]. |
|
2645 self cancel. |
|
2646 self updateColumnView. |
|
2647 modified := true. |
|
2648 |
|
2649 ! |
|
2650 |
|
2651 doCut |
|
2652 "remove selected column and put it to the clipboard" |
|
2653 |
|
2654 self cutOrDelete:true |
2640 ! |
2655 ! |
2641 |
2656 |
2642 doDefineRowClass |
2657 doDefineRowClass |
2643 "launch a dialog to define class and superclass" |
2658 "launch a dialog to define class and superclass" |
2644 |
2659 |
2718 ! |
2733 ! |
2719 |
2734 |
2720 doDelete |
2735 doDelete |
2721 "remove selected column and put it to the clipboard" |
2736 "remove selected column and put it to the clipboard" |
2722 |
2737 |
2723 |idx| |
2738 self cutOrDelete:false |
2724 |
2739 |
2725 ((idx := selectedColumnIndex) ~~ 0 and: [self askForItemModification]) |
|
2726 ifTrue: |
|
2727 [ |
|
2728 self selectedColumnModel value:0. |
|
2729 columns removeIndex:idx. |
|
2730 self seqList removeIndex:idx. |
|
2731 columns size > 0 ifTrue: [self selectedColumnModel value: ((idx - 1) max: 1)]. |
|
2732 self updateColumnView. |
|
2733 self updateInputFields. |
|
2734 columns isEmpty ifTrue: [self isColumnSelected value: false]. |
|
2735 self cancel. |
|
2736 modified := true. |
|
2737 ] |
|
2738 ! |
2740 ! |
2739 |
2741 |
2740 doGenerateCode |
2742 doGenerateCode |
2741 "generate code for column values" |
2743 "generate code for column values" |
2742 |
2744 |