Change background color of a selected line of text in textfield

I have a list of items in a dynamic text field. When a line is clicked I would like to highlight it, or change the background color. Any ideas?

By default, the generated application uses the oracle skin family. This skin generates the buttons as images with rounded edges so you cannot change the background color. If you change the skin-family to "minimal" in the adf-faces-config.xml, then you can change the background color of the buttons by adding a property like this to the button template:
inlineStyle="background-color:red;"
However, a cleaner way to do this, is by creating a custom skin, so you do not have to modify the generator templates at all. See the following link for more info on ADF Faces skinning:
http://www.oracle.com/technology/products/jdev/101/howtos/adfskins/index.html
In addition, using the Check for Updates feature in JDeveloper, you can install additional sample skins.
Steven Davelaar,
JHeadstart Team.

Similar Messages

  • Changing background color in a selected jtable row

    I have a problem when I call fireTableDataChanged() to change the background color in a table.
    If a row is selected neither getTableCellEditorComponent nor getTableCellRendererComponent is called after fireTableDataChanged()...
    As can you see running this:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.table.*;   
    //YOU MUST CHANGE IN:
    // import yourpackagename.MyTable.MyTableModel;
    import swing.table.MyTable.MyTableModel;
    public class DemoCellEditor extends javax.swing.JFrame {
         private MyTable myTable1;
         private JScrollPane jScrollPane1;
         private JButton jButton1;
         private AbstractAction abstractAction1;
         static Color red = new Color(200,23,23);
         static Color white = new Color(255,255,255);
         static public Color backgroundColor = white;
         static public Color getBackgroundColor(){ return backgroundColor ;}
         * Auto-generated main method to display this JFrame
         public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        DemoCellEditor inst = new DemoCellEditor();
                        inst.setLocationRelativeTo(null);
                        inst.setVisible(true);
         public DemoCellEditor() {
              super();
              initGUI();
         private void initGUI() {
              try {
                   GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
                   getContentPane().setLayout(thisLayout);
                   setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                        jScrollPane1 = new JScrollPane();
                             myTable1 = new MyTable();
                             jScrollPane1.setViewportView(myTable1);
                        jButton1 = new JButton();
                        jButton1.setText("jButton1");
                        jButton1.setAction(getAbstractAction1());
                   thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
                        .addContainerGap(43, 43)
                        .addGroup(thisLayout.createParallelGroup()
                            .addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
                                .addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 151, Short.MAX_VALUE))
                            .addGroup(thisLayout.createSequentialGroup()
                                .addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, Short.MAX_VALUE)))
                        .addContainerGap(57, 57));
                   thisLayout.setHorizontalGroup(thisLayout.createSequentialGroup()
                        .addContainerGap(48, 48)
                        .addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 162, GroupLayout.PREFERRED_SIZE)
                        .addGap(78)
                        .addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(111, Short.MAX_VALUE));
                   pack();
              } catch (Exception e) {
                   e.printStackTrace();
         private AbstractAction getAbstractAction1() {
              if(abstractAction1 == null) {
                   abstractAction1 = new AbstractAction("Change color", null) {
                        public void actionPerformed(ActionEvent evt) {
                             if(backgroundColor == white)
                                  backgroundColor = red;
                             else
                                  backgroundColor = white;
                             ((MyTableModel)myTable1.getModel()).fireTableDataChanged();
              return abstractAction1;
    class MyTable extends JTable
         public MyTable()
              setModel(new MyTableModel());
              setDefaultRenderer(Boolean.class, new TickTableCheckBoxRenderer());
              setDefaultEditor(Boolean.class, new TickTableCheckBoxRenderer());
             class MyTableModel extends AbstractTableModel {
                 private String[] columnNames = {"Check box"};
                 private Object[][] data = { {new Boolean(true)},
                                                    {new Boolean(true)},
                                                    {new Boolean(true)},
                                                    {new Boolean(true)}};
                 public int getColumnCount() {
                     return columnNames.length;
                 public int getRowCount() {
                     return data.length;
                 public String getColumnName(int col) {
                     return columnNames[col];
                 public Object getValueAt(int row, int col) {
                     return data[row][col];
                  * JTable uses this method to determine the default renderer/
                  * editor for each cell.  If we didn't implement this method,
                  * then the last column would contain text ("true"/"false"),
                  * rather than a check box.
                 public Class getColumnClass(int c) {
                     return getValueAt(0, c).getClass();
                 public boolean isCellEditable(int row, int col) {
                       return true;
                 public void setValueAt(Object value, int row, int col) {
                     data[row][col] = value;
                     fireTableCellUpdated(row, col);
    class TickTableCheckBoxRenderer extends AbstractCellEditor
         implements TableCellEditor,TableCellRenderer, ActionListener
         JCheckBox checkBox;
         public TickTableCheckBoxRenderer()
              checkBox = new JCheckBox();
             checkBox.setHorizontalAlignment(SwingConstants.CENTER);
             checkBox.addActionListener(this);
         public Component getTableCellRendererComponent(JTable
                                             table, Object value, boolean isSelected, boolean
                                             hasFocus, int row, int column)
         checkBox.setSelected( Boolean.valueOf( value.toString() ).booleanValue() );
         checkBox.setBackground(DemoCellEditor.getBackgroundColor()); 
         return checkBox;
         public Component getTableCellEditorComponent(JTable table, Object value,
                                       boolean isSelected, int row, int column)
         checkBox.setSelected( Boolean.valueOf( value.toString() ).booleanValue() );
         checkBox.setBackground(DemoCellEditor.getBackgroundColor()); 
         return checkBox;
         public Object getCellEditorValue()
         return Boolean.valueOf(checkBox.isSelected());
         public void actionPerformed(ActionEvent actionEvent) {
              System.out.println("selected ="+checkBox.isSelected());  
    }Edited by: snoopybad77 on Mar 27, 2010 3:27 PM

    weel pheraps for compilig it is better without inner class:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.table.*;    
    public class DemoCellEditor extends javax.swing.JFrame {
         private MyTable myTable1;
         private JScrollPane jScrollPane1;
         private JButton jButton1;
         private AbstractAction abstractAction1;
         static Color red = new Color(200,23,23);
         static Color white = new Color(255,255,255);
         static public Color backgroundColor = white;
         static public Color getBackgroundColor(){ return backgroundColor ;}
         * Auto-generated main method to display this JFrame
         public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        DemoCellEditor inst = new DemoCellEditor();
                        inst.setLocationRelativeTo(null);
                        inst.setVisible(true);
         public DemoCellEditor() {
              super();
              initGUI();
         private void initGUI() {
              try {
                   GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
                   getContentPane().setLayout(thisLayout);
                   setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                        jScrollPane1 = new JScrollPane();
                             myTable1 = new MyTable();
                             jScrollPane1.setViewportView(myTable1);
                        jButton1 = new JButton();
                        jButton1.setText("jButton1");
                        jButton1.setAction(getAbstractAction1());
                   thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
                        .addContainerGap(43, 43)
                        .addGroup(thisLayout.createParallelGroup()
                            .addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
                                .addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 21, GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 151, Short.MAX_VALUE))
                            .addGroup(thisLayout.createSequentialGroup()
                                .addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 172, GroupLayout.PREFERRED_SIZE)
                                .addGap(0, 0, Short.MAX_VALUE)))
                        .addContainerGap(57, 57));
                   thisLayout.setHorizontalGroup(thisLayout.createSequentialGroup()
                        .addContainerGap(48, 48)
                        .addComponent(jScrollPane1, GroupLayout.PREFERRED_SIZE, 162, GroupLayout.PREFERRED_SIZE)
                        .addGap(78)
                        .addComponent(jButton1, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE)
                        .addContainerGap(111, Short.MAX_VALUE));
                   pack();
              } catch (Exception e) {
                   e.printStackTrace();
         private AbstractAction getAbstractAction1() {
              if(abstractAction1 == null) {
                   abstractAction1 = new AbstractAction("Change color", null) {
                        public void actionPerformed(ActionEvent evt) {
                             if(backgroundColor == white)
                                  backgroundColor = red;
                             else
                                  backgroundColor = white;
                             ((MyTableModel)myTable1.getModel()).fireTableDataChanged();
                             myTable1.repaint();
              return abstractAction1;
    class MyTable extends JTable
              public MyTable()
                   setModel(new MyTableModel());
                   setDefaultRenderer(Boolean.class, new TickTableCheckBoxRenderer());
                   setDefaultEditor(Boolean.class, new TickTableCheckBoxRenderer());
    class MyTableModel extends AbstractTableModel {
         private String[] columnNames = {"Check box"};
         private Object[][] data = { {new Boolean(true)},
                                               {new Boolean(true)},
                                               {new Boolean(true)},
                                               {new Boolean(true)}};
         public int getColumnCount() {
             return columnNames.length;
         public int getRowCount() {
             return data.length;
         public String getColumnName(int col) {
             return columnNames[col];
         public Object getValueAt(int row, int col) {
             return data[row][col];
          * JTable uses this method to determine the default renderer/
          * editor for each cell.  If we didn't implement this method,
          * then the last column would contain text ("true"/"false"),
          * rather than a check box.
         public Class getColumnClass(int c) {
             return getValueAt(0, c).getClass();
         public boolean isCellEditable(int row, int col) {
               return true;
         public void setValueAt(Object value, int row, int col) {
             data[row][col] = value;
             fireTableCellUpdated(row, col);
    class TickTableCheckBoxRenderer extends AbstractCellEditor
         implements TableCellEditor,TableCellRenderer, ActionListener
         JCheckBox checkBox;
         public TickTableCheckBoxRenderer()
              checkBox = new JCheckBox();
             checkBox.setHorizontalAlignment(SwingConstants.CENTER);
             checkBox.addActionListener(this);
         public Component getTableCellRendererComponent(JTable
                                             table, Object value, boolean isSelected, boolean
                                             hasFocus, int row, int column)
         checkBox.setSelected( Boolean.valueOf( value.toString() ).booleanValue() );
         checkBox.setBackground(DemoCellEditor.getBackgroundColor()); 
         return checkBox;
         public Component getTableCellEditorComponent(JTable table, Object value,
                                       boolean isSelected, int row, int column)
         checkBox.setSelected( Boolean.valueOf( value.toString() ).booleanValue() );
         checkBox.setBackground(DemoCellEditor.getBackgroundColor()); 
         return checkBox;
         public Object getCellEditorValue()
         return Boolean.valueOf(checkBox.isSelected());
         public void actionPerformed(ActionEvent actionEvent) {
              System.out.println("selected ="+checkBox.isSelected());  
    }Edited by: snoopybad77 on Mar 27, 2010 5:20 PM

  • How to change the selection background color of the selected item in the popup menu of the choice box ?

    How to change the selection background color of the selected item in the popup menu of the choice box ?
    By defaut, the selection background color likes "blue", but if I want it to be "yellow" for example, how should I do ?
    Thanks

    The id is applied by (I think) the skin class of the ChoiceBox. You don't need to define it.
    You have to apply the css in an external style sheet. You can apply the external style sheet to any parent of your choice box, or to the scene (the most usual way to do it).
    Example:
    import java.util.ArrayList;
    import java.util.List;
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.ChoiceBox;
    import javafx.scene.layout.VBox;
    import javafx.stage.Stage;
    public class ChoiceBoxTest extends Application {
      @Override
      public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("Example 2");
        final ChoiceBox<String> choiceBox = new ChoiceBox<>();
        List<String> tempResult = new ArrayList<String>();
        for (int i = 0; i < 10; i++) {
          tempResult.add("Item " + i);
        choiceBox.getItems().setAll(tempResult);
        VBox root = new VBox();
        root.getChildren().add(choiceBox);
        final Scene scene = new Scene(root, 300, 250);
        scene.getStylesheets().add("choiceBox.css");
        primaryStage.setScene(scene);
        primaryStage.show();   
      public static void main(String[] args) {
        launch(args);
    choiceBox.css:
    @CHARSET "UTF-8";
    #choice-box-menu-item:focused  {
    -fx-background-color: yellow ;
    #choice-box-menu-item .label {
    -fx-text-fill: black ;
    Message was edited by: James_D

  • Change background color during text edit mode

    THis is a wacky problem...
    I have a presentation template. The slide master has white copy in the title and black copy in the body/bulleted list.
    When I try to use the template and edit the title copy, the background color for editing that line is white, just like the text, so I can't see what I'm typing. I can't figure out how to change the background color during text edit mode so that I can actually see what I'm typing. Is there a way to make this transparent?
    For some reason, the body copy edit works fine: black text edited in either a white or transparent background color.
    help!

    THis is a wacky problem...
    I have a presentation template. The slide master has white copy in the title and black copy in the body/bulleted list.
    When I try to use the template and edit the title copy, the background color for editing that line is white, just like the text, so I can't see what I'm typing. I can't figure out how to change the background color during text edit mode so that I can actually see what I'm typing. Is there a way to make this transparent?
    For some reason, the body copy edit works fine: black text edited in either a white or transparent background color.
    help!

  • Pages 5 can't change background color in fullscreen

    There's no option to change background color when in fullscreen mode anymore.
    Did I miss something or did apple just...get rid of it?????why???

    Hi, Mark,
    Under the Format menu select Advanced and the click on Make Master Objects Selectable. Now click on the red area. You'll notice little faint x's at the corners. In the Arrange menu click on Unlock. Now you can edit the color. (In this case a gradient.) When you finish, go back and Lock it again and deselect Make Master Object Selectable.
    Walt

  • How to change Background colors in photos

    Hi all,
    I could use some help with changing background color of attached example.  I want to be able to change background of this photo and have a few examples of it with blue, red and green background color.
    any help is appreciated.
    Thanks,
    Den

    With the selection still active apply a Solid Color adjustment layer in a new colour.
    Adjust the opacity and blending mode to suit.
    Do a Save as...    using a different file name and repeat with different colours.

  • I am having a problem changing a color in a selected area. Using the Quick Selection tool I am able to select the area I wish to change. Using the Brush tool, color, color mode and click drag in my selected area, nothing happens, no color changes.   I hav

    I am having a problem changing a color in a selected area. Using the Quick Selection tool I am able to select the area I wish to change. Using the Brush tool, color, color mode and click drag in my selected area, nothing happens, no color changes. I have viewed some videos and read numerous articles but haven't found the one to help me. Please point me in the best direction. Thank you Vincent TC

    For the sake of clarity and to save people time, Todd is asking about the behaviour of the Patch tool when using it to repair the area next to the young lad's head.  Todd gets a blurred dark tone pretty much regardless of the options he uses.
    IMO that's what I would expect to happen because of the close proximity of the other image elements i.e. the lad's neck and the strong lines of his shirt.  I would not choose to use the Patch tool in this situation.  Content Aware Fill makes a better stab at it. 

  • Changed the color of the selected text

    I changed the color of the selected text in Photoshop CS6, from black (background) & white (text) to different colors. I want to know how I did it.

    Selecting tends to invert the text. Use Ctrl/Cmd h while in Text edit mode to hide the selection.

  • Change the color of the outer line of a shape

    Hello I'm trying to create a rectangle with a red border and no inside fill. It's only to highlight some text of a bank form.
    I know i have to right click the layer and choose blending options and stroke. But I've tried to change the color so many times and no matter what I do, the outer line remains gray and with rounded corners.
    I want the corners of the rectangle to be squared, not rounded but I'm having a hard time changing this.
    Please help
    I'm using Photoshop CS3
    thank you
    Could anyone please show a picture of where to change the color of the outer line? I've tried everything.

    Hi,
    With Ps CS3, you'll probably want to define a Layer Style for a Stroke and then use that with the Square Shape Layers.
    This is a Stroke of 4 px, 'Centered' (so a very slight corner rounding on the outside edge. 'Inside' will give you square corners for both inside and outside edges). To change the color of the stroke, go to Layer> Layer Style> Stroke and change the color by clicking on the color bar.
    regards,
    steve 

  • Change the background color of a particular word without changing the background color of the rest of the text in a textbox

    Hello,
    I'm designing my own website and want to know how to change the background color of a particular word without changing the background color of the rest of the text in a textbox. If i can't do this, how can I create a Table, similar to Excel with iWeb?
    Thank you very much!
    Roger.

    If i can't do this, how can I create a Table, similar to Excel with iWeb?
    Read this :
         Create and add a TABLE in iWeb »
         More about a TABLE in iWeb »
         Sample 1
         Sample 2

  • How to change background color in AutoComplete window ?

    Is it possible to change background color in AutoComplete window ?

    Bob, A.Ankit, you're both chasing a ghost here.
    The screenshot shows an autocomplete enabled textbox with its dropdown list of autocomplete values to choose from. There is no property defining its backcolor. Not in the textbox nor in any class, neither any other baseclass nor _combobox of _base.vcx
    The only way to chnage that color is not recommended, via changing windows theme colors. That would effect any window and control.
    If you need another color even turning off themes won't help as VFP doesn't offer any property controlling that color, so you really would need to implement the autocomplete feature yourself, if you want the specify this backcolor.
    Bye, Olaf.
    Olaf Doschke - TMN Systemberatung GmbH http://www.tmn-systemberatung.de

  • How to change background color in online editor

    How to change background color in online editor

    Jeff,
    if you try to change all the plsql keywords to the same background color (that is not either white or black or blue) via the options panel in SQL Developer (Code Editor > PLSQL syntax colors), you will get the new background color in the worksheet only for the areas with plsql text, while the areas without any text will have the same background color as the base color scheme you started with. This means that there is no way to change the "general background" color via the options panel, but you have to use the same background color of one of the predefined color schemes.
    This seems to me a bug, but probably it's not considered high priority, so it will not be fixed for the time being.
    I would like to stress the fact that being able to change the color scheme of the development environment that you use every day about 8 hours a day can make quite a difference on your eyes at the end of the day.
    Thanks,
    Paolo

  • How to change background color in photoshop cs3

    how to change background color in photoshop cs3
    Please help me...

    Background for what? You need to explain better and be more specific.
    Mylenium

  • How to change background color of multilevel textbox in oracle form 6i

    hi
    How To Change background Color of the Text.
    In One Multilevel Block 10 Record is Display At a Time in a Text Box (Name is AMTt)
    This Text Box display , Buffer and Record Length is 10
    In Case Of Amount is Less 500 then Text Color Is Red(Or Any) and In Case Amount Is More 500 Then Color is Green (Or Any).
    Me Use This Code in PRE_RECORD EVENT
    TCMTL is Block name
    TCMTL_AMT is Text Box Name
    if :TCMTL.TCMTL_AMT >5000 then
         g_fun.msgbox('Values is more');
         Set_Item_Property('TCMTL_AMT' , BACKGROUND_COLOR, 'r50g100b100');
    else
         g_fun.msgbox('Values is Less');
         Set_Item_Property('TCMTL_AMT' , BACKGROUND_COLOR, 'r50g100b10');
    end if;     
    but This Code Is Refer Only 10th Value and change color depend on value.
    so
    possible to Different color in One Block Text Box Then how?

    DECLARE
         cur_itm VARCHAR2(80);
         cur_block VARCHAR2(80) := Name_in('system.trigger_block') ;
         BEGIN
         cur_itm := Get_Block_Property( cur_block, FIRST_ITEM );
    WHILE ( cur_itm IS NOT NULL ) LOOP
              cur_itm := cur_block||'.'||cur_itm;
              --:global.VISUAL_ATTRIBUTE:= 'BACKGROUND_COLOR';
              --:global.VISUAL_ATTRIBUTE:= get_item_property(cur_block||'.'||cur_itm ,Background_Color);
              IF :TCMTL.TCMTL_AMT >= 500 THEN
                             Set_Item_Instance_Property( cur_itm, CURRENT_RECORD, VISUAL_ATTRIBUTE,'r50g100b100');
                   ELSE
                             Set_Item_Instance_Property( cur_itm, CURRENT_RECORD, VISUAL_ATTRIBUTE,'r5g100b10');
                   END IF;
                             cur_itm := Get_Item_Property( cur_itm, NEXTITEM );
                   END LOOP;
                   next_record;
    END;
    this is my in that how to set a VISUAL_ATTRIBUTE, and where to set so get a background color of text and change

  • Change background color in enter-query mode

    Hi everyone,
    I am trying to Change background color in enter-query mode in forms10g. I am using this
    Set_Item_property('org.branch_code', BACKGROUND_COLOR, 'Green' );
    Thanks

    This is the code that allows to colorise items in enter_query mode, then de-colorize them after execute_query.
    Assume that you have created a VA_QUERY visual atribute in your module.
    -- Colorise in enter-query mode --
    PROCEDURE Start_query IS
      LC$Block      Varchar2(30) := Name_in('system.trigger_block') ;
      LC$item       varchar2(60);
      LC$itemdeb    varchar2(60);
      LN$len        pls_integer ;
    BEGIN
      lc$itemdeb := get_block_property(LC$BLOCK, FIRST_ITEM) ;
      lc$item := LC$BLOCK || '.' || lc$itemdeb ;
      while lc$itemdeb is not null Loop
        IF GET_ITEM_PROPERTY(LC$Item , ITEM_TYPE) NOT IN ('BUTTON','RADIO GROUP','DISPLAY ITEM') Then
          IF GET_ITEM_PROPERTY(LC$Item , QUERYABLE ) = 'TRUE' Then
            set_item_property(LC$item, CURRENT_RECORD_ATTRIBUTE, 'VA_QUERY');
          End if ;
        End if ;
        lc$itemdeb := get_item_property( lc$item, NEXT_NAVIGATION_ITEM );
        lc$item := LC$BLOCK || '.' || lc$itemdeb ;
      end loop ;
    END;
    -- Unclororize after execute_query --
    PROCEDURE End_query IS
      LC$Block     Varchar2(30) := Name_in('system.trigger_block') ;
      LC$item     varchar2(60);
      LC$itemdeb     varchar2(60);
      LN$len          pls_integer ;
      LN$Multi  pls_integer ;
    BEGIN
      lc$itemdeb := get_block_property(LC$BLOCK, FIRST_ITEM) ;
      lc$item := LC$BLOCK || '.' || lc$itemdeb ;
      LN$Multi := GET_BLOCK_PROPERTY(LC$Block , RECORDS_DISPLAYED ) ;
      while lc$itemdeb is not null Loop
        IF GET_ITEM_PROPERTY(LC$Item , ITEM_TYPE) NOT IN ('BUTTON','RADIO GROUP','DISPLAY ITEM') Then
          IF GET_ITEM_PROPERTY(LC$Item , QUERYABLE ) = 'TRUE' Then
             If LN$Multi > 1 Then
                set_item_property(LC$item, CURRENT_RECORD_ATTRIBUTE, 'VA_CURRENT_RECORD');
             Else
                set_item_property(LC$item, CURRENT_RECORD_ATTRIBUTE, '');
             End if ;
          End if ;
        End if ;
        lc$itemdeb := get_item_property( lc$item, NEXT_NAVIGATION_ITEM );
        lc$item := LC$BLOCK || '.' || lc$itemdeb ;
      end loop ;
    END;Francois

Maybe you are looking for