/** * Copyright 2010 JBoss Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.drools.eclipse.rulebuilder.ui; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class RuleDialog extends Dialog { private String title; private String hint; public RuleDialog(Shell parent, String title, String hint) { //super(parent,INFOPOPUPRESIZE_SHELLSTYLE,true,true,true,true,title,hint); super( (Shell) parent.getParent() ); setShellStyle( getShellStyle() | SWT.RESIZE ); this.title = title; this.hint = hint; } protected void configureShell(Shell newShell) { super.configureShell( newShell ); newShell.setText( title ); newShell.setToolTipText( hint ); } protected Control createDialogArea(Composite parent) { Composite finalComposite = new Composite( parent, SWT.NONE ); finalComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) ); GridLayout finalLayout = new GridLayout(); finalComposite.setLayout( finalLayout ); Composite titleComposite = new Composite( finalComposite, SWT.NONE ); GridLayout layout = new GridLayout(); layout.marginHeight = convertVerticalDLUsToPixels( IDialogConstants.VERTICAL_MARGIN ); layout.marginWidth = convertHorizontalDLUsToPixels( IDialogConstants.HORIZONTAL_MARGIN ); layout.verticalSpacing = 8; layout.horizontalSpacing = 8; titleComposite.setLayout( layout ); titleComposite.setLayoutData( new GridData( GridData.FILL_BOTH ) ); applyDialogFont( titleComposite ); Label l = new Label( titleComposite, SWT.CENTER ); l.setToolTipText( hint ); l.setText( title ); Font exFont = l.getFont(); FontData[] exfds = l.getFont().getFontData(); if ( exfds.length > 0 ) { FontData fd = exfds[0]; fd.setHeight( fd.getHeight() + 4 ); Font f = new Font( exFont.getDevice(), fd ); l.setFont( f ); } Composite contentComposite = (Composite) super.createDialogArea( finalComposite ); return contentComposite; } protected void createButtonsForButtonBar(Composite parent) { // We have only cancel button createButton( parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false ); } /* protected Control createDialogArea(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.marginHeight = 2; layout.marginWidth = 2; layout.verticalSpacing = 2; layout.horizontalSpacing = 2; composite.setLayout(layout); GridData gd = new GridData(GridData.FILL_BOTH); composite.setLayoutData(gd); return composite; } */ protected Label createLabel(Composite composite, String string) { Label l = new Label( composite, 0 ); l.setText( string ); return l; } protected Text createText(Composite composite, String string) { Text t = new Text( composite, 0 ); t.setText( string ); return t; } }