public void show(final TGViewContext context) { final TGSong song = context.getAttribute(TGDocumentContextAttributes.ATTRIBUTE_SONG); final TGPrintStylesHandler handler = context.getAttribute(ATTRIBUTE_HANDLER); final UIFactory uiFactory = TGApplication.getInstance(context.getContext()).getFactory(); final UIWindow uiParent = context.getAttribute(TGViewContext.ATTRIBUTE_PARENT2); final UITableLayout dialogLayout = new UITableLayout(); final UIWindow dialog = uiFactory.createWindow(uiParent, true, false); dialog.setLayout(dialogLayout); dialog.setText(TuxGuitar.getProperty("options")); // ------------------TRACK SELECTION------------------ UITableLayout trackLayout = new UITableLayout(); UILegendPanel track = uiFactory.createLegendPanel(dialog); track.setLayout(trackLayout); track.setText(TuxGuitar.getProperty("track")); dialogLayout.set( track, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 300f, null, null); UILabel trackLabel = uiFactory.createLabel(track); trackLabel.setText(TuxGuitar.getProperty("track")); trackLayout.set( trackLabel, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_CENTER, false, true); final UIDropDownSelect<Integer> tracks = uiFactory.createDropDownSelect(track); for (int number = 1; number <= song.countTracks(); number++) { tracks.addItem( new UISelectItem<Integer>( TuxGuitar.getInstance().getSongManager().getTrack(song, number).getName(), number)); } tracks.setSelectedValue( TuxGuitar.getInstance() .getTablatureEditor() .getTablature() .getCaret() .getTrack() .getNumber()); trackLayout.set(tracks, 1, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); // ------------------MEASURE RANGE------------------ UITableLayout rangeLayout = new UITableLayout(); UILegendPanel range = uiFactory.createLegendPanel(dialog); range.setLayout(rangeLayout); range.setText(TuxGuitar.getProperty("print.range")); dialogLayout.set( range, 2, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 300f, null, null); final int minSelection = 1; final int maxSelection = song.countMeasureHeaders(); UILabel fromLabel = uiFactory.createLabel(range); fromLabel.setText(TuxGuitar.getProperty("edit.from")); rangeLayout.set( fromLabel, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_CENTER, false, true); final UISpinner fromSpinner = uiFactory.createSpinner(range); fromSpinner.setMaximum(maxSelection); fromSpinner.setMinimum(minSelection); fromSpinner.setValue(minSelection); rangeLayout.set( fromSpinner, 1, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 60f, null, null); UILabel toLabel = uiFactory.createLabel(range); toLabel.setText(TuxGuitar.getProperty("edit.to")); rangeLayout.set( toLabel, 2, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_CENTER, false, true); final UISpinner toSpinner = uiFactory.createSpinner(range); toSpinner.setMinimum(minSelection); toSpinner.setMaximum(maxSelection); toSpinner.setValue(maxSelection); rangeLayout.set( toSpinner, 2, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 60f, null, null); fromSpinner.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { int fromSelection = fromSpinner.getValue(); int toSelection = toSpinner.getValue(); if (fromSelection < minSelection) { fromSpinner.setValue(minSelection); } else if (fromSelection > toSelection) { fromSpinner.setValue(toSelection); } } }); toSpinner.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { int toSelection = toSpinner.getValue(); int fromSelection = fromSpinner.getValue(); if (toSelection < fromSelection) { toSpinner.setValue(fromSelection); } else if (toSelection > maxSelection) { toSpinner.setValue(maxSelection); } } }); // ------------------CHECK OPTIONS-------------------- UITableLayout optionsLayout = new UITableLayout(); UILegendPanel options = uiFactory.createLegendPanel(dialog); options.setLayout(optionsLayout); options.setText(TuxGuitar.getProperty("options")); dialogLayout.set( options, 3, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 300f, null, null); final UICheckBox tablatureEnabled = uiFactory.createCheckBox(options); tablatureEnabled.setText(TuxGuitar.getProperty("export.tablature-enabled")); tablatureEnabled.setSelected(true); optionsLayout.set( tablatureEnabled, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); final UICheckBox scoreEnabled = uiFactory.createCheckBox(options); scoreEnabled.setText(TuxGuitar.getProperty("export.score-enabled")); scoreEnabled.setSelected(true); optionsLayout.set( scoreEnabled, 2, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); final UICheckBox chordNameEnabled = uiFactory.createCheckBox(options); chordNameEnabled.setText(TuxGuitar.getProperty("export.chord-name-enabled")); chordNameEnabled.setSelected(true); optionsLayout.set( chordNameEnabled, 3, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); final UICheckBox chordDiagramEnabled = uiFactory.createCheckBox(options); chordDiagramEnabled.setText(TuxGuitar.getProperty("export.chord-diagram-enabled")); chordDiagramEnabled.setSelected(true); optionsLayout.set( chordDiagramEnabled, 4, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); final UICheckBox blackAndWhite = uiFactory.createCheckBox(options); blackAndWhite.setText(TuxGuitar.getProperty("export.black-and-white")); blackAndWhite.setSelected(true); optionsLayout.set( blackAndWhite, 5, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); tablatureEnabled.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { if (!tablatureEnabled.isSelected()) { scoreEnabled.setSelected(true); } } }); scoreEnabled.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { if (!scoreEnabled.isSelected()) { tablatureEnabled.setSelected(true); } } }); // ------------------BUTTONS-------------------------- UITableLayout buttonsLayout = new UITableLayout(0f); UIPanel buttons = uiFactory.createPanel(dialog, false); buttons.setLayout(buttonsLayout); dialogLayout.set( buttons, 4, 1, UITableLayout.ALIGN_RIGHT, UITableLayout.ALIGN_FILL, true, true); UIButton buttonOK = uiFactory.createButton(buttons); buttonOK.setText(TuxGuitar.getProperty("ok")); buttonOK.setDefaultButton(); buttonOK.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { int style = 0; style |= (scoreEnabled.isSelected() ? TGLayout.DISPLAY_SCORE : 0); style |= (tablatureEnabled.isSelected() ? TGLayout.DISPLAY_TABLATURE : 0); style |= (chordNameEnabled.isSelected() ? TGLayout.DISPLAY_CHORD_NAME : 0); style |= (chordDiagramEnabled.isSelected() ? TGLayout.DISPLAY_CHORD_DIAGRAM : 0); style |= (blackAndWhite.isSelected() ? TGLayout.DISPLAY_MODE_BLACK_WHITE : 0); Integer trackNumber = tracks.getSelectedValue(); PrintStyles printStyles = new PrintStyles(); printStyles.setTrackNumber(trackNumber != null ? trackNumber : -1); printStyles.setFromMeasure(fromSpinner.getValue()); printStyles.setToMeasure(toSpinner.getValue()); printStyles.setStyle(style); dialog.dispose(); handler.updatePrintStyles(printStyles); } }); buttonsLayout.set( buttonOK, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 80f, 25f, null); UIButton buttonCancel = uiFactory.createButton(buttons); buttonCancel.setText(TuxGuitar.getProperty("cancel")); buttonCancel.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { dialog.dispose(); } }); buttonsLayout.set( buttonCancel, 1, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, 80f, 25f, null); buttonsLayout.set(buttonCancel, UITableLayout.MARGIN_RIGHT, 0f); TGDialogUtil.openDialog(dialog, TGDialogUtil.OPEN_STYLE_CENTER | TGDialogUtil.OPEN_STYLE_PACK); }
public void show() { this.createEditableMarker(); final UIFactory uiFactory = TGApplication.getInstance(this.context.getContext()).getFactory(); final UIWindow uiParent = this.context.getAttribute(TGViewContext.ATTRIBUTE_PARENT2); final UITableLayout dialogLayout = new UITableLayout(); this.dialog = uiFactory.createWindow(uiParent, true, false); this.dialog.setLayout(dialogLayout); this.dialog.setText(TuxGuitar.getProperty("marker")); // ---------------------------------------------------------------------- UITableLayout groupLayout = new UITableLayout(); UILegendPanel group = uiFactory.createLegendPanel(this.dialog); group.setLayout(groupLayout); group.setText(TuxGuitar.getProperty("marker")); dialogLayout.set(group, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true); // Measure Number final int measureCount = TuxGuitar.getInstance().getDocumentManager().getSong().countMeasureHeaders(); UILabel measureLabel = uiFactory.createLabel(group); measureLabel.setText(TuxGuitar.getProperty("measure")); groupLayout.set( measureLabel, 1, 1, UITableLayout.ALIGN_RIGHT, UITableLayout.ALIGN_CENTER, true, true); this.measureSpinner = uiFactory.createSpinner(group); this.measureSpinner.setMinimum(1); this.measureSpinner.setMaximum(measureCount); this.measureSpinner.setValue(this.marker.getMeasure()); this.measureSpinner.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { int selection = TGMarkerEditor.this.measureSpinner.getValue(); if (selection < 1) { TGMarkerEditor.this.measureSpinner.setValue(1); } else if (selection > measureCount) { TGMarkerEditor.this.measureSpinner.setValue(measureCount); } } }); groupLayout.set( this.measureSpinner, 1, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_CENTER, true, true, 1, 1, MINIMUM_CONTROL_WIDTH, null, null); // Title UILabel titleLabel = uiFactory.createLabel(group); titleLabel.setText(TuxGuitar.getProperty("title")); groupLayout.set( titleLabel, 2, 1, UITableLayout.ALIGN_RIGHT, UITableLayout.ALIGN_CENTER, true, true); this.titleText = uiFactory.createTextField(group); this.titleText.setText(this.marker.getTitle()); groupLayout.set( this.titleText, 2, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_CENTER, true, true, 1, 1, MINIMUM_CONTROL_WIDTH, null, null); // Color UILabel colorLabel = uiFactory.createLabel(group); colorLabel.setText(TuxGuitar.getProperty("color")); groupLayout.set( colorLabel, 3, 1, UITableLayout.ALIGN_RIGHT, UITableLayout.ALIGN_CENTER, true, true); this.colorButton = uiFactory.createButton(group); this.colorButton.setText(TuxGuitar.getProperty("choose")); this.colorButton.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { UIColorModel colorModel = new UIColorModel(); colorModel.setRed(TGMarkerEditor.this.marker.getColor().getR()); colorModel.setGreen(TGMarkerEditor.this.marker.getColor().getG()); colorModel.setBlue(TGMarkerEditor.this.marker.getColor().getB()); UIColorChooser colorChooser = uiFactory.createColorChooser(TGMarkerEditor.this.dialog); colorChooser.setDefaultModel(colorModel); colorChooser.setText(TuxGuitar.getProperty("choose-color")); colorChooser.choose( new UIColorChooserHandler() { public void onSelectColor(UIColorModel selection) { if (selection != null) { TGMarkerEditor.this.marker.getColor().setR(selection.getRed()); TGMarkerEditor.this.marker.getColor().setG(selection.getGreen()); TGMarkerEditor.this.marker.getColor().setB(selection.getBlue()); TGMarkerEditor.this.setButtonColor(uiFactory); } } }); } }); this.colorButton.addDisposeListener( new UIDisposeListener() { public void onDispose(UIDisposeEvent event) { TGMarkerEditor.this.disposeButtonColor(); } }); this.setButtonColor(uiFactory); groupLayout.set( this.colorButton, 3, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_CENTER, true, true, 1, 1, MINIMUM_CONTROL_WIDTH, null, null); // ------------------BUTTONS-------------------------- UITableLayout buttonsLayout = new UITableLayout(0f); UIPanel buttons = uiFactory.createPanel(this.dialog, false); buttons.setLayout(buttonsLayout); dialogLayout.set( buttons, 2, 1, UITableLayout.ALIGN_RIGHT, UITableLayout.ALIGN_FILL, true, true); final UIButton buttonOK = uiFactory.createButton(buttons); buttonOK.setText(TuxGuitar.getProperty("ok")); buttonOK.setDefaultButton(); buttonOK.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { updateMarker(); TGMarkerEditor.this.dialog.dispose(); } }); buttonsLayout.set( buttonOK, 1, 1, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, MINIMUM_BUTTON_WIDTH, MINIMUM_BUTTON_HEIGHT, null); UIButton buttonCancel = uiFactory.createButton(buttons); buttonCancel.setText(TuxGuitar.getProperty("cancel")); buttonCancel.addSelectionListener( new UISelectionListener() { public void onSelect(UISelectionEvent event) { TGMarkerEditor.this.dialog.dispose(); } }); buttonsLayout.set( buttonCancel, 1, 2, UITableLayout.ALIGN_FILL, UITableLayout.ALIGN_FILL, true, true, 1, 1, MINIMUM_BUTTON_WIDTH, MINIMUM_BUTTON_HEIGHT, null); buttonsLayout.set(buttonCancel, UITableLayout.MARGIN_RIGHT, 0f); TGDialogUtil.openDialog( this.dialog, TGDialogUtil.OPEN_STYLE_CENTER | TGDialogUtil.OPEN_STYLE_PACK); }