Custom renderer (almost works)

I'm creating a custom JComboBox renderer. What I want it to do is display text next to a colored box. Everything works except for the default value were its not showing the text. Anyone see the problem? Or is there a better way of doing this? I’ve included the code below:
(Renderer Code: ComboBoxRenderer.java)
import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
class ComboBoxRenderer extends JLabel implements ListCellRenderer
    String[] _textLabels = {"Red", "Green", "Blue", "Orange", "Yellow", "Cyan"};
    private ArrayList _colors = null;
    private JPanel _coloredBox = null;
    private JPanel _container = null;
    private JLabel _label = null;
    public ComboBoxRenderer()
        setOpaque(true);
        setHorizontalAlignment(CENTER);
        setVerticalAlignment(CENTER);
        // Text container (can't get text to show without it being contained inside another jpanel. Why is this?)
        _container = new JPanel();
        Dimension holderSize = new Dimension(80, 20);
        _container.setLocation(22, 0);
        _container.setSize(holderSize);
        _container.setOpaque(false);
        _container.setLayout(new BorderLayout());
        this.add(_container, BorderLayout.WEST);
        // Text
        _label = new JLabel("Disabled");
        Dimension textSize = new Dimension(80, 20);
        _label.setForeground(Color.black);
        _label.setPreferredSize(textSize);
        _label.setHorizontalAlignment(JTextField.LEFT);
        _container.add(_label, BorderLayout.WEST);
        // Colored box
        _coloredBox = new JPanel();
        Dimension preferredSize = new Dimension(16, 16);
        _coloredBox.setLocation(2, 2);
        _coloredBox.setSize(preferredSize);
        _coloredBox.setOpaque(true);
        this.add(_coloredBox, BorderLayout.WEST);
        // Initialize color list
        _colors = new ArrayList();
        _colors.add(new Color(255, 0, 0));
        _colors.add(new Color(0, 255, 0));
        _colors.add(new Color(0, 0, 255));
        _colors.add(new Color(255, 215, 0));
        _colors.add(new Color(255, 255, 0));
        _colors.add(new Color(0, 255, 255));
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
        // Get the selected index.
        int selectedIndex = ((Integer)value).intValue();
        // Set the background color for each element
        if (isSelected) {
            setBackground(list.getSelectionBackground());
            setForeground(list.getSelectionForeground());
        } else {
            setBackground(list.getBackground());
            setForeground(list.getForeground());
        // Set text
        String text = _textLabels[selectedIndex];
        _label.setText(text);
        _label.setFont(list.getFont());
        // Set box
        Color current = (Color) _colors.get(selectedIndex);
        _coloredBox.setBackground(current);
        return this;
}(Main: CustomComboBoxDemo.java)
import java.awt.*;
import javax.swing.*;
public class CustomComboBoxDemo extends JPanel
    public CustomComboBoxDemo()
        super(new BorderLayout());
        // Combo list
        Integer[] intArray = new Integer[6];
        for (int i = 0; i < 6; i++) intArray[i] = new Integer(i);
        // Create the combo box.
        JComboBox colorList = new JComboBox(intArray);
        ComboBoxRenderer renderer= new ComboBoxRenderer();
        renderer.setPreferredSize(new Dimension(120, 20));
        colorList.setRenderer(renderer);
        colorList.setMaximumRowCount(5);
        colorList.setSelectedIndex(2);
        // Lay out the demo.
        add(colorList, BorderLayout.PAGE_START);
        setBorder(BorderFactory.createEmptyBorder(20,20,20,20));
    private static void CreateAndShowGUI()
        // Create and set up the window.
        JFrame frame = new JFrame("CustomComboBoxDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // Create and set up the content pane
        JComponent newContentPane = new CustomComboBoxDemo();
        newContentPane.setOpaque(true);
        frame.setContentPane(newContentPane);
        // Display the window.
        frame.pack();
        frame.setVisible(true);
    public static void main(String[] args)
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                CreateAndShowGUI();
}Edited by: geforce2000 on Dec 13, 2009 3:37 AM
Edited by: geforce2000 on Dec 13, 2009 3:38 AM

BeForthrightWhenCrossPostingToOtherSites
Here's one: [custom-renderer-almost-works|http://www.java-forums.org/awt-swing/23831-custom-renderer-almost-works.html]
Any others?
Next issue: TellTheDetails
You may understand fully just what is not working here, but we don't since you tell us that it doesn't work, but never really tell us how.

Similar Messages

  • JTable Custom Renderer not working after sort

    Hi All,
    I have a JTable which has a default renderer. The point of the renderer is to color the background based on the second column.
    It all words fine, until I sort by any of the columns. Clicking on a column header sorts, but the original background color remains.
    The JTable was created with a class that extended DefaultTableModel.
    Any help or ideas would be appreciated.
    Thanks.
    table.setDefaultRenderer(Object.class, new MyColorCellRenderer());
    public class MyColorCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
            public MyColorCellRenderer() {
                setForeground(Color.white);
                setOpaque(true);           
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {                   
                Component comp = super.getTableCellRendererComponent(
                         table,  value, isSelected, hasFocus, row, column);
                String s = table.getModel().getValueAt(row, 1).toString();
                if (s.equalsIgnoreCase("Man")) {
                    comp.setBackground(Color.red);
                } else if (s.equalsIgnoreCase("Woman")) {
                    comp.setBackground(Color.orange);
                } else if (s.equalsIgnoreCase("Child")) {
                    comp.setBackground(Color.lightGray);
                } else if (s.equalsIgnoreCase("Pet")) {
                    comp.setBackground(Color.darkGray);
                } else {
                    comp.setForeground(null);
                return (comp);
        }Edited by: PeterG on Sep 23, 2008 7:54 AM

    Absolutely correct and fantastic!
    Thank you very much.
    New code below.
    public class MyColorCellRenderer extends javax.swing.table.DefaultTableCellRenderer {
            private JTable m_Table;
            public MyColorCellRenderer(JTable table) {
                m_Table = table;
                setForeground(Color.white);
                setOpaque(true);           
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {                   
                Component comp = super.getTableCellRendererComponent(
                         table,  value, isSelected, hasFocus, row, column);
                String s = table.getModel().getValueAt(m_Table.convertRowIndexToModel(row), 1).toString();
                if (s.equalsIgnoreCase("Man")) {
                    comp.setBackground(Color.red);
                } else if (s.equalsIgnoreCase("Woman")) {
                    comp.setBackground(Color.orange);
                } else if (s.equalsIgnoreCase("Child")) {
                    comp.setBackground(Color.lightGray);
                } else if (s.equalsIgnoreCase("Pet")) {
                    comp.setBackground(Color.darkGray);
                } else {
                    comp.setForeground(null);
                return (comp);
    }

  • Custom rendering extensions not working in SSRS Report Designer (rsreportdesigner.config)

    My custom rendering extension is working in Report Builder (in RSReportServer.config), but not in Report Designer (in RSReportDesigner.config):  instead of adding a "TXT" export option, it's just adding a duplicate "CSV" option.
    SUMMARY: 
    Is there a way to get these features working, with Report Designer?
    DETAILS:
    We are running SSRS (Reporting Services) under SQL Server 2008 R2.
    Here's my rendering section:
        <Render>
          <Extension Name="XML" Type="Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering" />
          <Extension Name="CSV" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering" />
          <!-- TXT extension with help from:  http://social.msdn.microsoft.com/Forums/sqlserver/en-US/d79845a8-17fb-4ec6-b121-2c40cf466d73/how-do-i-add-a-pipe-delimited-option-in-ssrs-2008-report-manager?forum=sqlreportingservices -->
          <Extension Name="TXT" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
            <OverrideNames>
                <Name Language="en-US">TXT(ASCII,NoColHds)</Name>
            </OverrideNames>
            <Configuration>
                 <DeviceInfo>
                     <FileExtension>txt</FileExtension>
                    <FieldDelimiter>,</FieldDelimiter>
                    <Encoding>ASCII</Encoding>
                    <NoHeader>true</NoHeader>
                </DeviceInfo>
            </Configuration>
          </Extension>
          <Extension Name="IMAGE" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering" />
          <Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering" />
          <Extension Name="HTML4.0" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.Html40RenderingExtension,Microsoft.ReportingServices.HtmlRendering" Visible="false" />
          <Extension Name="MHTML" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.MHtmlRenderingExtension,Microsoft.ReportingServices.HtmlRendering" />
          <Extension Name="RPL" Type="Microsoft.ReportingServices.Rendering.RPLRendering.RPLRenderer,Microsoft.ReportingServices.RPLRendering" Visible="false" />
          <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering" />
          <Extension Name="WORD" Type="Microsoft.ReportingServices.Rendering.WordRenderer.WordDocumentRenderer,Microsoft.ReportingServices.WordRendering" />
        </Render>
    When I add the above "TXT" section to RSReportServer.config, then Report Builder (and production) both show an export option "TXT(ASCII,NoColHds)". 
    But when I add this "TXT" section to RSReportDesigner.config, and then (in Report Designer / BIDS) attempt to export from a "Preview" of the report, the export drop-down does not show a "CSV" option followed by a "TXT"
    option, but instead shows the "CSV" option twice.
    This simply limits testing of the export option, to Report Builder... or requires any reports be published from Report Designer before they can be tested with
    this export option.
    (FYI, why this export option:  compliance in our industry requires sending data to government agencies, in text files, with fixed-length columns, and ASCII encoding.  Also, we're attempting to give the production of these files to the *users* managing
    communication with those agencies... so we're putting them into SSRS.
    I worked around the fixed length columns (and no delimiters -- no commas), by writing a version of the report where all string columns are padded, and all columns are concatenated, to form ONE LONG COLUMN... but Reporting Services' CSV export format produces
    a Unicode file (UTF-8, which the agency rejected, because it had a leading "", or "EF BB BF" in hex), whereas the agency requires an ASCII file.)

    Hi Doug_atMidway,
    According to your description, you want to enable your custom render extension. Right?
    In Reporting Services, if you want to deploy the custom extension, you just need to add the extension into rsreportserver.config file.  The
    RSReportDesigner.config file stores settings about the rendering extensions available to Report Designer. Since you still use the csv rendering extension in your assembly, we don't need to do any modification in rsreportdesigner.config file. Pleaes
    refer to the links below:
    Thanks for attempting to help, Simon.  
    As my question states, I've *already done* both the above:  changed (1) rsreportserver.config and (2) rsreportdesigner.config.  I added the same code, shown above, to both files.  I did that so I could see the new "txt" extension
    both (1) when exporting in production and Report Builder, and (2) when exporting in Report Designer's "preview".  
    The change in (2) is not working:  I do not see the "TXT" extension in Report Designer, when I try to export from a preview.  Instead, Report Designer shows the CSV extension repeated.
    Thanks for the docs.  I consulted them (well, I consulted the EQUIVALENT pages, for SQL Server 2008 R2), when creating my block of code above.
    Do you see anything to correct, in my code?
    Are the features I'm using actually working, with rsreportdesigner.config?
    Thanks again, 
    -- Doug

  • ParserExtension and Custom Renderer components

    Hi,
    I am trying to create a custom component of my own which will control access to UINodes based on the contents of the User's HTTPSession object. In the HTTPSession I have a list of Roles that are assigned to the user and based on these roles I would like to turn on/off certain UI nodes. Initially I tried to create a component that was defined like this:
    <sso:ssoassetchecker asset="987654321">
    <contents>
    <messageBox automatic="true"/>
    </contents>
    </sso:ssoassetchecker>However I was having trouble (probably due to me needing to have the contents tag in there but no having child node support in my custom UINode).
    So I decided to look at the ParserExtension mechanism to get a component that looked like this:
    <link text="User List (Super)" destination="UserList-SuperAdmin.uix" sso:assetcheck="sso_super_admin_role"/>This almost worked but I think that the ParserExtension will not operate dynamically for each user. I have some code in the ParserExtension that looks like this:
    public Object elementEnded(ParseContext context, String namespaceURI, String localName, Object parsed, Dictionary attributes)
        logger.debug("::elementEnded - About to parse new attribute type");
        if (parsed instanceof MutableUINode)
          MutableUINode node = (MutableUINode)parsed;
          Object assetId = attributes.get("assetcheck");
          if (assetId != null)
            List roleIdsToCheck = new LinkedList();
            StringTokenizer strTok = new StringTokenizer((String)assetId, ":");
            logger.debug("::elementEnded - Checking whether user has any of the roles : " + assetId + " for node " + node.getNodeID());
            while (strTok.hasMoreTokens())
              roleIdsToCheck.add(strTok.nextToken());
            BajaContext bajaContext = BajaParseContext.getBajaContext(context);
            HttpServletRequest request = bajaContext.getServletRequest();
            UserInfo userInfo = SSOManager.getUserInfo(request);
            boolean roleFound = false;
            if (null != userInfo)
              String username = userInfo.getUsername();
              long userId  = userInfo.getUserId();
              logger.debug("::elementEnded - Getting ROLES for username : " + userInfo);
              Iterator rolesToCheckIterator = roleIdsToCheck.iterator();
              while ( (rolesToCheckIterator.hasNext()) && (!roleFound) )
                String curRoleToCheck = (String)rolesToCheckIterator.next();
                logger.debug("::elementEnded - Checking whether user has current role : " + curRoleToCheck);
                if (userInfo.checkPermissionForRole(curRoleToCheck))
                  roleFound = true;
                  logger.debug("::elementEnded - MATCH User does have current role : " + curRoleToCheck);
              if (!roleFound)
                logger.debug("::elementEnded - No match found for specified roles - HIDING node");
                node.setAttributeValue(UIConstants.RENDERED_ATTR, "false");
                parsed = null;   
        else
          logWarning(context, "Controller extensions not supported on " + parsed + " objects");
        return parsed;
    }I know it is a bit hacky at the moment just turning off the rendered attribute and returning null but I just want to get it going.
    So, after all that the question is this : will this ParserExtension get called each time the page is rendered and correctly get the data from the user's httpsession OR will the session only be looked up the first time the page is rendered?
    Many thanks,
    pj.

    The page should only be parsed once (and when the file is modified). It seems like if you're only trying to turn on and off certain ui nodes you should be able to write a template...

  • Help! Using a custom renderer to display an image

    I have a JTable where I want to set the renderer of one column to a custom renderer. And I want this renderer to show either a play button image, or a stop button image, depending on the status, which is a Boolean value. However, the image won't show up when I run the application. Here's the code from the renderer...
    public class StatusRenderer extends DefaultTableCellRenderer {
    private ImageIcon playIcon = new ImageIcon("C:/play.jpg");
    private ImageIcon stopIcon = new ImageIcon("C:/stop.jpg");
    public StatusRenderer() {
    setHorizontalAlignment(JLabel.CENTER);
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
    Boolean b = (Boolean) value;
    setIcon(b.booleanValue() ? playIcon : stopIcon);
    return this;
    The application runs, but no icon shows up in the table cell. I'd really appreciate any help on this. Thanks.

    look at http://www2.gol.com/users/tame/swing/examples/JTableExamples1.html
    for some great table examples (they may need minor mods to work on 1.3/1.4)
    Basically I think you need something more like:
    public class StatusRenderer extends JLabel
      implements DefaultTableCellRenderer
        public StatusRenderer() {
            super();
            setHorizontalAlignment(JLabel.CENTER);
        public Component getTableCellRendererComponent(JTable table,
                                           Object value, boolean sSelected,
                                           boolean hasFocus, int row,
                                           int col)
            Boolean b = (Boolean) value;
            setIcon(b.booleanValue() ? playIcon : stopIcon);
            return this;
    }Don't forget to add the renderer to the column you want it in !

  • '...' not appearing in obscured table cell when using custom renderer.

    Hello all -
    I am using a custom JPanel as a cell renderer in a JTable to display two icons per cell. Unfortunately, I am running into a problem that occurs when resizing a column such that the width of the column is less than the size of the cell content. Normally, when resizing a cell in this manner, it will start to cut off the text within the cell and add '...' to signify that some material is obscured. However, using my cell renderer, the text simply cuts off with no indication whatsoever there is more content that is being hidden. I have tried looking through the JComponent code to find a function to overload but I haven't had much luck. Does anyone have any suggestions?
    For a simple example, compile and run the following code and try resizing the two columns. You should be able to notice the difference.
    Thanks,
    - Alex
    import java.awt.*;
    import java.awt.image.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class TwoIcons extends JFrame {
         public static void main(String[] args){
              createIcons();
              SwingUtilities.invokeLater
                   new Runnable()
                        public void run() {
                             new TwoIcons();
         public TwoIcons(){
              super("Test");
              DefaultTableModel tm = new DefaultTableModel(
                   new Object[][]{
                        {new IconPair("cross", "cross"), "just a string"},
                        {new IconPair("circle", "cross"),"just another string"},
                        {new IconPair("String", "circle"),"yet another string"}
                   }, new String[]{"Two Icons","String"}){
                   public Class getColumnClass(int columnIndex){
                        if(columnIndex==0){
                             return IconPair.class;
                        else
                             return super.getColumnClass(columnIndex);
              JTable table = new JTable(tm);
              final Color bg = table.getBackground();
              table.setDefaultRenderer(IconPair.class, new TableCellRenderer(){
                        RendererPanel renderer = new RendererPanel(bg);
                        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                             renderer.setIcons((IconPair)value);
                             return  renderer;
              JScrollPane scp = new JScrollPane(table);
              add(scp);
              setSize(400,100);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              pack();
              setVisible(true);
         class RendererPanel extends JPanel{
              JLabel icon1, icon2;
              RendererPanel(Color bg){
                   setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS) );
                   icon1=new JLabel();
                   icon2=new JLabel();
                   add(icon1);
                   add(icon2);
                   setBackground(bg);
              public void setIcons(IconPair value) {
                   icon1.setIcon(value.i1);
                   icon1.setToolTipText("Icon 1");
                   icon2.setIcon(value.i2);
                   icon2.setToolTipText("Icon 2");
                   //uncomment next 2 lines if you want text as well
                   icon1.setText(value.s1);
                   icon2.setText(value.s2);
         class IconPair {
              public Icon i1,i2;
              public String s1,s2;
              IconPair(String s1, String s2){
                   this.i1=(Icon)icons.get(s1);
                   this.i2=(Icon)icons.get(s2);
                   this.s1=s1;
                   this.s2=s2;
         static Map icons = new HashMap();
         public static  void createIcons(){
              Image img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.BLUE);
              g2.drawLine(0,0,10,10);
              g2.drawLine(0,10,10,0);
              icons.put("cross",new ImageIcon(img));
              img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.ORANGE);
              g2.drawOval(1,1,8,8);
              icons.put("circle",new ImageIcon(img));
    }

    Things aren't resizable in your layout for the custom renderer. Here's your code working as you want (I think)
    import java.awt.*;
    import java.awt.image.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.table.*;
    public class TwoIcons extends JFrame {
         public static void main(String[] args){
              createIcons();
              SwingUtilities.invokeLater
                   new Runnable()
                        public void run() {
                             new TwoIcons();
         public TwoIcons(){
              super("Test");
              DefaultTableModel tm = new DefaultTableModel(
                   new Object[][]{
                        {new IconPair("cross", "cross"), "just a string"},
                        {new IconPair("circle", "cross"),"just another string"},
                        {new IconPair("String", "circle"),"yet another string"}
                   }, new String[]{"Two Icons","String"}){
                   public Class getColumnClass(int columnIndex){
                        if(columnIndex==0){
                             return IconPair.class;
                        else
                             return super.getColumnClass(columnIndex);
              JTable table = new JTable(tm);
              final Color bg = table.getBackground();
              table.setDefaultRenderer(IconPair.class, new TableCellRenderer(){
                        RendererPanel renderer = new RendererPanel(bg);
                        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
                             renderer.setIcons((IconPair)value);
                             return  renderer;
              JScrollPane scp = new JScrollPane(table);
              getContentPane().add(scp);
              setSize(400,100);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              pack();
              setVisible(true);
         class RendererPanel extends JPanel{
              JLabel icon1, icon2;
              RendererPanel(Color bg){
                   setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS) );
                   icon1=new JLabel();
                   icon2=new JLabel();
                   add(icon1);
                   add(icon2);
                   icon1.setMinimumSize(new Dimension(0, 0));
                   icon2.setMinimumSize(new Dimension(0, 0));
                   icon1.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));
                   icon2.setMaximumSize(new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE));
                   setBackground(bg);
              public void setIcons(IconPair value) {
                   icon1.setIcon(value.i1);
                   icon1.setToolTipText("Icon 1");
                   icon2.setIcon(value.i2);
                   icon2.setToolTipText("Icon 2");
                   //uncomment next 2 lines if you want text as well
                   icon1.setText(value.s1);
                   icon2.setText(value.s2);
         class IconPair {
              public Icon i1,i2;
              public String s1,s2;
              IconPair(String s1, String s2){
                   this.i1=(Icon)icons.get(s1);
                   this.i2=(Icon)icons.get(s2);
                   this.s1=s1;
                   this.s2=s2;
         static Map icons = new HashMap();
         public static  void createIcons(){
              Image img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              Graphics2D g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.BLUE);
              g2.drawLine(0,0,10,10);
              g2.drawLine(0,10,10,0);
              icons.put("cross",new ImageIcon(img));
              img = new BufferedImage(10,10, BufferedImage.TYPE_INT_ARGB);
              g2=(Graphics2D)(img.getGraphics());
              g2.setColor(Color.ORANGE);
              g2.drawOval(1,1,8,8);
              icons.put("circle",new ImageIcon(img));
    }Note that the ... is a function of the JLabel when it is too small to render its text.

  • Best Practice : Creating Custom Renderer for Standard Component

    I've been reading the docs and a few threads about Custom Renderers. The best practice seems to be to create a Custom Component where you need a Custom Renderer. Is this the case?
    See [this post|http://forums.sun.com/thread.jspa?forumID=427&threadID=520422]
    I've created several Custom Renderers to override the HTML provided by the Standard Components, however I can't see the benefit in also creating a Custom Component when the behaviour of the standard component is just fine.
    Thanks,
    Damian.

    It all depends on what you are trying to accomplish. Generally speaking if all you need is for the user interface output to be changed then a renderer will work just fine. A new component is usually made in order to provide some fundamental change in server side functionality not related to the user interface. - Ponderator

  • JTree custom renderer - JScrollPane

    Hi,
    I am building a JTree and need a custom renderer that will allow me to display the contents of certain leaf nodes in a JEditorPane that is contained in a scrollpane as the leaf may contain a varying amount of text.
    I have managed to get a renderer displaying the text as expected however the scrollbars do not work as I hoped - I cannot scroll down the editorpane.
    Has anyone got an example of a renderer that uses a scrollpane, any help/suggestions would be gratefully received.
    Thanks

    Return the size of your editor pane in customized cell renderer's getPreferredSize() method and set JTree rowHeight to zero. When row height is 0, it use renderer's getPreferredSize() to get size of the cell, I think. I have made custom cellrenderer which extends Jpanel and in getCellRendererComponent I add there another panel which contains buttons etc. I have used super.getPreferredSize() in my renderer's getPreferredSize() method.

  • Custom renderer for radio buttons?

    I want to change how radio buttons are rendered (so they aren't all rendered alone in their own table). What would be the best way to do this?
    One way would be to create a custom component, tag handler, and renderer (and register them all in faces-config.xml).
    But what about using the existing JSF components and just writing my own renderer. Could that work? Would just need to write a renderer and configure faces-config.xml to use the appropriate component-family (for the existing JSF radio button component) and renderer-type (for the existing component tag class for the radio button)�.like this:
    <render-kit>
    <renderer>
    <component-family>javax.faces.SelectOne</component-family>
    <renderer-type>javax.faces.Radio</renderer-type>
    <renderer-class>my.custom.renderer</renderer-class>
    </renderer>
    </render-kit>
    Could this work?
    Thanks.

    Could this work?Yes. Why do you doubt it?

  • JTable custom renderer never calls getTableCellRendererComponent()

    I have a custom renderer for Dates in my JTable. I've set it as the renderer on Date columns and I've also tried setting it as the table default for the Date type. In both cases the getTableCellRendererComponent() method never gets called.
    I've also tried right-justifying String columns with
              DefaultTableCellRenderer renderer = (DefaultTableCellRenderer)table.getDefaultRenderer(String.class);
              renderer.setHorizontalAlignment(JLabel.RIGHT);
    but the Strings are always left-justified. Same with integers.
    I verify that the new renderer / alignments are actually set immediately after setting them. A few method calls later I notice that the alignments have changed back. My custom date renderer is still set, however.
    My code calls fireTableStructureChanged(). I set/reset all renderers after the call to fireTableStructureChanged(). I wonder if fireTableStructureChanged() rebuilds the table some teim later wiping out the renderer / alignments that I've set and replacing them with the defaults.
    Is there a callback or some method that I need to override after calling fireTableStructureChanged() in order to get my renderer / alignments to remain in effect?

    I can't post the code because it is proprietary and the application itself is large.
    The trouble seems to start when I call fireTableStructureChanged(). None of the toy examples in books that I've seen address fireTableStructureChanged(). The JavaDocs for Swing don't tell you about all of the side effects of fireTableSTructureChanged().
    You're comment about overriding getColumnClass() got my custom data renderer working. The Javadocs for DefaultTableModel and JTable don't mention when you need to override getColumnClass(). Overriding getColumnClass() in the TableModel seems to apply to JTable as well. I don't understand why, but it seems to work.
    I am able to justify my columns be creating a default renderer and calling setHorizontalAlignment() on it and setting it as the default for the JTable. The code below doesn't work, however:
    DefaultTableCellRenderer renderer = (DefaultTableCellRenderer)table.getDefaultRenderer(int.class);
    renderer.setHorizontalAlignment(JLabel.RIGHT);
    It seems that the default renderers reset themselves back to their default state. I have no idea why, but that is what I am seeing.
    There is also a big difference in the way that primitives and wrappers are handled (i.e. int compared to Integer).
    One of the other posters here said that if I call setModel() that I would have to reset the renderers. The Javadocs don't say anything about that. (I only call setModel during initialization. I do update the actual data in the TableModel which can change the structure of the table. That is when I call fireTableStructureChanged() and all the difficulties start.)
    This whole episode has shown that the Swing Javadocs are next-to-worthless for writing real-world Swing applications. I've written several Swing applications over the years, and once they get beyond the simple level they become difficult to write and maintain due to the lack of documentation. For my next Java GUI I'm going to check out JavaFX (as soon as it is available on Linux). I don't see how it could be worse than Swing.
    Thanks for all of your help. You got me on the path to getting this solved.

  • Cannot get facelets custom components to work

    Hi,
    I'm switching to facelets but I fail to get my custom components to work. I hope any of you can help me point out what is going wrong. My component is built into a seperate jar file:
    package be.xxx.web.tag;
    import java.io.IOException;
    import javax.faces.component.UIOutput;
    import javax.faces.context.FacesContext;
    import javax.faces.context.ResponseWriter;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    public class IfTag extends UIOutput {
         public IfTag() {
              super();
              Log log = LogFactory.getLog(IfTag.class);
              log.debug("THIS IS THE IFTAG FACELETS IMPLEMENTATION");
              setRendererType(null);
         public boolean getRendersChildren() {
              return true;
         @Override
         public void encodeBegin(FacesContext facesContext) throws IOException {
              // We're rendering a table row
              facesContext.getResponseWriter().startElement("span", null);
         @Override
         public void encodeChildren(FacesContext facesContext) throws IOException {
              ResponseWriter writer = facesContext.getResponseWriter();
              writer.append("This if the IF tag");
         @Override
         public void encodeEnd(FacesContext facesContext) throws IOException {
              facesContext.getResponseWriter().endElement("span");
         @Override
         public String getFamily() {
              return COMPONENT_TYPE;
    }The taglib file in META-INF of the jar file:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
    <facelet-taglib>
         <namespace>http://www.xxx.be/jsf/mw</namespace>
         <tag>
              <tag-name>menu</tag-name>
              <component>
                   <component-type>be.xxx.web.Menu</component-type>
              </component>
         </tag>
         <tag>
              <tag-name>if</tag-name>
              <component>
                   <component-type>be.xxx.web.If</component-type>
              </component>
         </tag>
    </facelet-taglib>Also in META-INF of the same jar, a faces-config.xml:
    <?xml version="1.0" encoding="utf-8"?>
    <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
                  version="1.2">
      <component>
        <component-type>be.xxx.web.Menu</component-type>
        <component-class>be.xxx.web.tag.MenuTag</component-class>
      </component>
      <component>
        <component-type>be.xxx.web.If</component-type>
        <component-class>be.xxx.web.tag.IfTag</component-class>
      </component>
    </faces-config>Finally, in the main project where the jar with above files is used, I try to call a custom tag:
    <html xmlns="http://www.w3.org/1999/xhtml"
         xmlns:mw="http://www.xxx.be/jsf/mw"
         xmlns:ui="http://java.sun.com/jsf/facelets">
    <mw:if></mw:if>
    </html>The result is that the if tag just writed out nothing, so "<mw:if></mw:if>" in the output just becomes "".
    I haven't found a way to debug this either (as in: I don't think the java code is even executed), so any tips would be greatly appreciated!
    Thanks

    Looks like I posted the wrong class. Here is the problematic one:
    public class MenuTag extends FacesBean implements BodyTag {
         private transient PageContext pc = null;
         private transient Tag parent = null;
         private transient BodyContent bodyContent;
         public void setPageContext(PageContext p) {
              pc = p;
         public void setParent(Tag t) {
              parent = t;
         public Tag getParent() {
              return parent;
         public int doStartTag() throws JspException {
              String url = null;
              try {
                   WebSession ws = (WebSession) getBean("ws");
                   if (ws.isLoggedIn()) {
                        // Get the value of the applicable menu rule
                        url = ws.getPolicy().getMenu();
                        if (url != null && !"".equals(url)) {
                             // Some logic to get correct file
                             String inputLine;
                             while ((inputLine = in.readLine()) != null)
                                  pc.getOut().write(inputLine);
                             in.close();
                             // We printed the menu, so skip the default menu
                             // that is in this tag's body.
                             return SKIP_BODY;
                   } else {
                        getLog().info("The user is not logged in, reverting to default menu.");
              } catch (FileNotFoundException ex) {
                   getLog().warn("Menu file not found (" + url + "), reverting to default menu.");
              } catch (Exception ex) {
                   throw new JspTagException("Error when applying the menu rule.", ex);
              return EVAL_BODY_BUFFERED;
         public int doEndTag() throws JspException {
              try {
                   if (bodyContent != null) {
                        bodyContent.writeOut(bodyContent.getEnclosingWriter());
              } catch (IOException e) {
                   throw new JspException("Error: " + e.getMessage());
              return EVAL_PAGE;
         public void release() {
              pc = null;
              parent = null;
         private String resolveServerUrl() {
              HttpServletRequest req = (HttpServletRequest) FacesContext
                        .getCurrentInstance().getExternalContext().getRequest();
              String url = req.getScheme() + "://" + req.getServerName();
              if (req.getServerPort() != 80) {
                   url += ":" + req.getServerPort();
              return url;
         public void doInitBody() throws JspException {
         public void setBodyContent(BodyContent bc) {
              bodyContent = bc;
         public int doAfterBody() throws JspException {
              return 0;
    }So, problem is that this is not working in facelets as a component, while it did in JSP's.
    Can I get any hints what I am doing wrong here?
    Thanks

  • Interactions to custom component stopped working

    I have created a beta site with 6 Page States. The last state has a custom component state that has 9 states of its own. The icon on Page 1 was clickable and transitioned to State 1 of Page 6, but when I linked the remaining 8 icons on Page 1 (for a total of 9) to their component states' variation; it stopped all transition to page 6 stopped. The transitions/interaction to Page 9 w/ custom components stop working. Is their a limit to the number of  these states? All other transitions to the remaining pages are working beautifully! This is a cool program. I almost completed a project without any help other than the videos.

    Gotcha. There is no limit to the number of objects per state of a custom component, and there is no problem with having text and an image in the same custom component.
    I think your explanation of states, transitions, and custom components might still be a little confused, so let me try to explain it a different way:
    Your main application has a set of states, aka views or places the user can go. You can create transitions that play when the user goes from a state to another state - so there are two transitions for every pair of states (A -> B and B -> A). It also has a set of objects (aka layers) which you can see in the Layers panel. Some objects only exist in one state, while some objects appear in multiple states.
    A custom component is like an enclosed microcosm of the main application. You can create states, and define transitions between pairs of states. You also define the set of objects in the custom component. These objects may exist in one or more states of the custom component, but are separate from the objects in the main application.
    There's no such thing as a transition from a state of the custom component to a state of the main application, or vice versa. Each component (the main application and the custom component) has its own set of states and transitions between those states. Likewise, each component has its own set of layers, and cannot manipulate the layers of other components.
    When you have an instance of a custom component in your main application, you can set its visibility, position, and other properties in each state of the main application, but you can't make changes to its layers between states of the main application. One property that you can change is its its state (either by creating an Interaction, or by creating a "Set Component State" action in a timeline). Setting its state will cause it to play the transition that exists from its current state to the new state, if such a transition exists.
    Does that make sense?
    -Adam

  • Problem with JTree custom renderer when editing

    I have a JTree which uses a custom renderer to display my own icons for different types of nodes. The problem I am having is when I setEditable to true and then attept to edit a node the icon switches back to the default icon, as soon as I am done editing it goes back.
    What I am doing wrong?

    Here is my rendererer
    public class DeviceTreeRenderer extends DefaultTreeCellRenderer implements GuiConstants {
       public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
          JLabel returnValue = (JLabel)super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
          if (value != null) {
             returnValue.setToolTipText(value.toString());
          if (value instanceof Device) {
             returnValue.setIcon(TREE_DEVICE);
             if (!((Device)value).isAlive()) {
                returnValue.setEnabled(false);
          else if (value instanceof GuiPanelGroup) {
             if (expanded) {
                returnValue.setIcon(TREE_PANEL_GROUP_OPEN);
             else {
                returnValue.setIcon(TREE_PANEL_GROUP_CLOSED);
          else if (value instanceof GuiPanel && ((GuiPanel)value).isDirty()) {
             returnValue.setIcon(TREE_PANEL_DIRTY);
          return returnValue;
    }Here is my editor:
    public class WwpJTreeCellEditor extends DefaultTreeCellEditor implements GuiConstants {
          private WwpJTree tree;
           * Creates a new WwpJTreeCellEditor.
           * @param tree The WwpJTree to associate with this editor.
          public WwpJTreeCellEditor(WwpJTree tree) {
             super(tree, (DefaultTreeCellRenderer)tree.getCellRenderer());
             this.tree = tree;
           * Overrides the default isCellEditable so that we check the isEditable() method
           * of the WwpJTreeNodes.
           * @param e An EventObject.
          public boolean isCellEditable(EventObject e) {
             boolean returnValue = super.isCellEditable(e);
             if (returnValue) {
                WwpJTreeNode node = this.tree.getSelectedNode();
                if (node == null || !node.isEditable() || node.isDragging()) {
                   returnValue = false;
             return returnValue;
       }In my JTree I make these calls:
    super.setCellRenderer(new DeviceTreeRenderer());
    super.setCellEditor(new WwpJTreeCellEditor(this));
    super.setEditable(true);

  • Can't get direct rendering to work

    On my notebook with an Intel 945GM card, I can't get direct rendering to work.
    I'm using the 'xf86-video-intel' driver.
    /etc/X11/xorg.conf:
    Section "ServerLayout"
    Identifier "X.org Configured"
    Screen 0 "Screen0" 0 0
    InputDevice "Touchpad" "AlwaysCore SendCoreEvents"
    # InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
    EndSection
    Section "ServerFlags"
    Option "DontZap"
    Option "DontZoom"
    EndSection
    Section "Files"
    RgbPath "/usr/share/X11/rgb"
    ModulePath "/usr/lib/xorg/modules"
    FontPath "/usr/share/fonts/misc"
    FontPath "/usr/share/fonts/100dpi:unscaled"
    FontPath "/usr/share/fonts/75dpi:unscaled"
    FontPath "/usr/share/fonts/TTF"
    FontPath "/usr/share/fonts/Type1"
    EndSection
    Section "Module"
    Load "xtrap"
    Load "extmod"
    Load "GLcore"
    Load "record"
    Load "dbe"
    Load "glx"
    Load "dri"
    Load "freetype"
    Load "synaptics"
    EndSection
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbLayout" "us"
    EndSection
    Section "InputDevice"
    Identifier "Mouse0"
    Driver "mouse"
    Option "Protocol" "auto"
    Option "Device" "/dev/input/mice"
    Option "ZAxisMapping" "4 5 6 7"
    EndSection
    Section "InputDevice"
    Driver "synaptics"
    Identifier "Touchpad"
    Option "Device" "/dev/psaux"
    Option "Protocol" "auto-dev"
    Option "LeftEdge" "1700"
    Option "RightEdge" "5300"
    Option "TopEdge" "1700"
    Option "BottomEdge" "4200"
    Option "FingerLow" "25"
    Option "FingerHigh" "30"
    Option "MaxTapTime" "180"
    Option "MaxTapMove" "220"
    Option "VertScrollDelta" "100"
    Option "MinSpeed" "0.06"
    Option "MaxSpeed" "0.12"
    Option "AccelFactor" "0.0010"
    Option "SHMConfig" "on"
    # Option "Repeater" "/dev/ps2mouse"
    EndSection
    Section "Monitor"
    #DisplaySize 330 210 # mm
    DisplaySize 338 211
    Identifier "Monitor0"
    VendorName "AUO"
    ModelName "2174"
    EndSection
    Section "Device"
    ### Available Driver options are:-
    ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
    ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
    ### [arg]: arg optional
    #Option "NoAccel" # [<bool>]
    #Option "SWcursor" # [<bool>]
    #Option "ColorKey" # <i>
    #Option "CacheLines" # <i>
    #Option "Dac6Bit" # [<bool>]
    #Option "DRI" # [<bool>]
    #Option "NoDDC" # [<bool>]
    #Option "ShowCache" # [<bool>]
    #Option "XvMCSurfaces" # <i>
    #Option "PageFlip" # [<bool>]
    Identifier "Card0"
    Driver "intel"
    VendorName "Intel Corporation"
    BoardName "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
    BusID "PCI:0:2:0"
    EndSection
    Section "Screen"
    Identifier "Screen0"
    Device "Card0"
    Monitor "Monitor0"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 8
    Modes "1280x800" "1152x864" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 16
    Modes "1280x800" "1152x864" "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
    Viewport 0 0
    Depth 24
    Modes "1280x800" "1152x864" "1024x768" "800x600" "640x480"
    EndSubSection
    EndSection
    Section "DRI"
    Mode 0666
    EndSection
    And here is /var/log/Xorg.0.log:
    This is a pre-release version of the X server from The X.Org Foundation.
    It is not supported in any way.
    Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
    Select the "xorg" product for bugs you find in this release.
    Before reporting bugs in pre-release versions please check the
    latest version in the X.Org Foundation git repository.
    See http://wiki.x.org/wiki/GitPage for git access instructions.
    X.Org X Server 1.4.0.90
    Release Date: 5 September 2007
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.24-ARCH i686
    Current Operating System: Linux zg6y3zg9f3x 2.6.24.3-ARCH #2 SMP PREEMPT Sun Mar 2 23:22:11 CET 2008 i686
    Build Date: 03 February 2008 02:54:48PM
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
    Module Loader present
    Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/var/log/Xorg.0.log", Time: Mon Mar 3 00:20:16 2008
    (==) Using config file: "/etc/X11/xorg.conf"
    (==) ServerLayout "X.org Configured"
    (**) |-->Screen "Screen0" (0)
    (**) | |-->Monitor "Monitor0"
    (**) | |-->Device "Card0"
    (**) |-->Input Device "Touchpad"
    (**) |-->Input Device "Keyboard0"
    (**) Option "DontZap"
    (**) Option "DontZoom"
    (==) Automatically adding devices
    (==) Automatically enabling devices
    (WW) The directory "/usr/share/fonts/Type1" does not exist.
    Entry deleted from font path.
    (==) Including the default font path /usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1.
    (**) FontPath set to:
    /usr/share/fonts/misc,
    /usr/share/fonts/100dpi:unscaled,
    /usr/share/fonts/75dpi:unscaled,
    /usr/share/fonts/TTF,
    /usr/share/fonts/misc,
    /usr/share/fonts/100dpi:unscaled,
    /usr/share/fonts/75dpi:unscaled,
    /usr/share/fonts/TTF,
    /usr/share/fonts/Type1
    (**) RgbPath set to "/usr/share/X11/rgb"
    (**) ModulePath set to "/usr/lib/xorg/modules"
    (==) |-->Input Device "Mouse0"
    (==) The core pointer device wasn't specified explicitly in the layout.
    Using the first mouse device.
    (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
    (II) No APM support in BIOS or kernel
    (II) Loader magic: 0x81d65c0
    (II) Module ABI versions:
    X.Org ANSI C Emulation: 0.3
    X.Org Video Driver: 2.0
    X.Org XInput driver : 2.0
    X.Org Server Extension : 0.3
    X.Org Font Renderer : 0.5
    (II) Loader running on linux
    (II) LoadModule: "pcidata"
    (II) Loading /usr/lib/xorg/modules//libpcidata.so
    (II) Module pcidata: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    ABI class: X.Org Video Driver, version 2.0
    (--) using VT number 7
    (II) PCI: PCI scan (all values are in hex)
    (II) PCI: 00:00:0: chip 8086,27a0 card 1025,0090 rev 03 class 06,00,00 hdr 00
    (II) PCI: 00:02:0: chip 8086,27a2 card 1025,0090 rev 03 class 03,00,00 hdr 80
    (II) PCI: 00:02:1: chip 8086,27a6 card 1025,0090 rev 03 class 03,80,00 hdr 80
    (II) PCI: 00:1b:0: chip 8086,27d8 card 1025,0090 rev 02 class 04,03,00 hdr 00
    (II) PCI: 00:1c:0: chip 8086,27d0 card 0000,0000 rev 02 class 06,04,00 hdr 81
    (II) PCI: 00:1c:1: chip 8086,27d2 card 0000,0000 rev 02 class 06,04,00 hdr 81
    (II) PCI: 00:1c:2: chip 8086,27d4 card 0000,0000 rev 02 class 06,04,00 hdr 81
    (II) PCI: 00:1c:3: chip 8086,27d6 card 0000,0000 rev 02 class 06,04,00 hdr 81
    (II) PCI: 00:1d:0: chip 8086,27c8 card 1025,0090 rev 02 class 0c,03,00 hdr 80
    (II) PCI: 00:1d:1: chip 8086,27c9 card 1025,0090 rev 02 class 0c,03,00 hdr 00
    (II) PCI: 00:1d:2: chip 8086,27ca card 1025,0090 rev 02 class 0c,03,00 hdr 00
    (II) PCI: 00:1d:3: chip 8086,27cb card 1025,0090 rev 02 class 0c,03,00 hdr 00
    (II) PCI: 00:1d:7: chip 8086,27cc card 1025,0090 rev 02 class 0c,03,20 hdr 00
    (II) PCI: 00:1e:0: chip 8086,2448 card 0000,0000 rev e2 class 06,04,01 hdr 01
    (II) PCI: 00:1f:0: chip 8086,27b9 card 1025,0090 rev 02 class 06,01,00 hdr 80
    (II) PCI: 00:1f:2: chip 8086,27c4 card 1025,0090 rev 02 class 01,01,80 hdr 00
    (II) PCI: 00:1f:3: chip 8086,27da card 1025,0090 rev 02 class 0c,05,00 hdr 00
    (II) PCI: 05:00:0: chip 8086,4222 card 8086,1000 rev 02 class 02,80,00 hdr 00
    (II) PCI: 06:01:0: chip 14e4,170c card 1025,0090 rev 02 class 02,00,00 hdr 00
    (II) PCI: 06:04:0: chip 1524,1412 card 1400,0000 rev 10 class 06,07,00 hdr 82
    (II) PCI: 06:04:1: chip 1524,0530 card 1025,0090 rev 01 class 05,01,00 hdr 80
    (II) PCI: 06:04:2: chip 1524,0550 card 1025,0090 rev 01 class 08,05,01 hdr 80
    (II) PCI: 06:04:3: chip 1524,0520 card 1025,0090 rev 01 class 05,01,00 hdr 80
    (II) PCI: 06:04:4: chip 1524,0551 card 1025,0090 rev 01 class 05,01,00 hdr 80
    (II) PCI: End of PCI scan
    (II) Intel Bridge workaround enabled
    (II) Host-to-PCI bridge:
    (II) Bus 0: bridge is at (0:0:0), (0,0,7), BCTRL: 0x0008 (VGA_EN is set)
    (II) Bus 0 I/O range:
    [0] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[b]
    (II) Bus 0 non-prefetchable memory range:
    [0] -1 0 0x00000000 - 0xffffffff (0x0) MX[b]
    (II) Bus 0 prefetchable memory range:
    [0] -1 0 0x00000000 - 0xffffffff (0x0) MX[b]
    (II) PCI-to-PCI bridge:
    (II) Bus 2: bridge is at (0:28:0), (0,2,2), BCTRL: 0x0004 (VGA_EN is cleared)
    (II) PCI-to-PCI bridge:
    (II) Bus 3: bridge is at (0:28:1), (0,3,3), BCTRL: 0x0004 (VGA_EN is cleared)
    (II) PCI-to-PCI bridge:
    (II) Bus 4: bridge is at (0:28:2), (0,4,4), BCTRL: 0x0004 (VGA_EN is cleared)
    (II) PCI-to-PCI bridge:
    (II) Bus 5: bridge is at (0:28:3), (0,5,5), BCTRL: 0x0004 (VGA_EN is cleared)
    (II) Bus 5 non-prefetchable memory range:
    [0] -1 0 0xd0100000 - 0xd01fffff (0x100000) MX[b]
    (II) Subtractive PCI-to-PCI bridge:
    (II) Bus 6: bridge is at (0:30:0), (0,6,7), BCTRL: 0x0000 (VGA_EN is cleared)
    (II) Bus 6 non-prefetchable memory range:
    [0] -1 0 0xd0000000 - 0xd00fffff (0x100000) MX[b]
    (II) PCI-to-ISA bridge:
    (II) Bus -1: bridge is at (0:31:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
    (II) PCI-to-CardBus bridge:
    (II) Bus 7: bridge is at (6:4:0), (6,7,10), BCTRL: 0x0740 (VGA_EN is cleared)
    (--) PCI:*(0:2:0) Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller rev 3, Mem @ 0xd0200000/19, 0xc0000000/28, 0xd0300000/18, I/O @ 0x5088/3
    (--) PCI: (0:2:1) Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller rev 3, Mem @ 0xd0280000/19
    (II) Addressable bus resource ranges are
    [0] -1 0 0x00000000 - 0xffffffff (0x0) MX[b]
    [1] -1 0 0x00000000 - 0x0000ffff (0x10000) IX[b]
    (II) OS-reported resource ranges:
    [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[b]E(B)
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [5] -1 0 0x00000000 - 0x000000ff (0x100) IX[b]
    (II) Active PCI resource ranges:
    [0] -1 0 0xd0000000 - 0xd0001fff (0x2000) MX[b]
    [1] -1 0 0xd0100000 - 0xd0100fff (0x1000) MX[b]
    [2] -1 0 0xd0544000 - 0xd05443ff (0x400) MX[b]
    [3] -1 0 0xd0340000 - 0xd0343fff (0x4000) MX[b]
    [4] -1 0 0xd0280000 - 0xd02fffff (0x80000) MX[b](B)
    [5] -1 0 0xd0300000 - 0xd033ffff (0x40000) MX[b](B)
    [6] -1 0 0xc0000000 - 0xcfffffff (0x10000000) MX[b](B)
    [7] -1 0 0xd0200000 - 0xd027ffff (0x80000) MX[b](B)
    [8] -1 0 0x00005420 - 0x0000543f (0x20) IX[b]
    [9] -1 0 0x00005440 - 0x0000544f (0x10) IX[b]
    [10] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [11] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [12] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [13] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [14] -1 0 0x00005400 - 0x0000541f (0x20) IX[b]
    [15] -1 0 0x000050e0 - 0x000050ff (0x20) IX[b]
    [16] -1 0 0x000050c0 - 0x000050df (0x20) IX[b]
    [17] -1 0 0x000050a0 - 0x000050bf (0x20) IX[b]
    [18] -1 0 0x00005088 - 0x0000508f (0x8) IX[b](B)
    (II) Inactive PCI resource ranges:
    [0] -1 0 0xd0003100 - 0xd00031ff (0x100) MX[b]
    [1] -1 0 0xd0003800 - 0xd000387f (0x80) MX[b]
    [2] -1 0 0xd0003400 - 0xd00034ff (0x100) MX[b]
    [3] -1 0 0xd0003000 - 0xd000307f (0x80) MX[b]
    (II) Active PCI resource ranges after removing overlaps:
    [0] -1 0 0xd0000000 - 0xd0001fff (0x2000) MX[b]
    [1] -1 0 0xd0100000 - 0xd0100fff (0x1000) MX[b]
    [2] -1 0 0xd0544000 - 0xd05443ff (0x400) MX[b]
    [3] -1 0 0xd0340000 - 0xd0343fff (0x4000) MX[b]
    [4] -1 0 0xd0280000 - 0xd02fffff (0x80000) MX[b](B)
    [5] -1 0 0xd0300000 - 0xd033ffff (0x40000) MX[b](B)
    [6] -1 0 0xc0000000 - 0xcfffffff (0x10000000) MX[b](B)
    [7] -1 0 0xd0200000 - 0xd027ffff (0x80000) MX[b](B)
    [8] -1 0 0x00005420 - 0x0000543f (0x20) IX[b]
    [9] -1 0 0x00005440 - 0x0000544f (0x10) IX[b]
    [10] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [11] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [12] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [13] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [14] -1 0 0x00005400 - 0x0000541f (0x20) IX[b]
    [15] -1 0 0x000050e0 - 0x000050ff (0x20) IX[b]
    [16] -1 0 0x000050c0 - 0x000050df (0x20) IX[b]
    [17] -1 0 0x000050a0 - 0x000050bf (0x20) IX[b]
    [18] -1 0 0x00005088 - 0x0000508f (0x8) IX[b](B)
    (II) Inactive PCI resource ranges after removing overlaps:
    [0] -1 0 0xd0003100 - 0xd00031ff (0x100) MX[b]
    [1] -1 0 0xd0003800 - 0xd000387f (0x80) MX[b]
    [2] -1 0 0xd0003400 - 0xd00034ff (0x100) MX[b]
    [3] -1 0 0xd0003000 - 0xd000307f (0x80) MX[b]
    (II) OS-reported resource ranges after removing overlaps with PCI:
    [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[b]E(B)
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [5] -1 0 0x00000000 - 0x000000ff (0x100) IX[b]
    (II) All system resource ranges:
    [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[b]E(B)
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0xd0000000 - 0xd0001fff (0x2000) MX[b]
    [5] -1 0 0xd0100000 - 0xd0100fff (0x1000) MX[b]
    [6] -1 0 0xd0544000 - 0xd05443ff (0x400) MX[b]
    [7] -1 0 0xd0340000 - 0xd0343fff (0x4000) MX[b]
    [8] -1 0 0xd0280000 - 0xd02fffff (0x80000) MX[b](B)
    [9] -1 0 0xd0300000 - 0xd033ffff (0x40000) MX[b](B)
    [10] -1 0 0xc0000000 - 0xcfffffff (0x10000000) MX[b](B)
    [11] -1 0 0xd0200000 - 0xd027ffff (0x80000) MX[b](B)
    [12] -1 0 0xd0003100 - 0xd00031ff (0x100) MX[b]
    [13] -1 0 0xd0003800 - 0xd000387f (0x80) MX[b]
    [14] -1 0 0xd0003400 - 0xd00034ff (0x100) MX[b]
    [15] -1 0 0xd0003000 - 0xd000307f (0x80) MX[b]
    [16] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [17] -1 0 0x00000000 - 0x000000ff (0x100) IX[b]
    [18] -1 0 0x00005420 - 0x0000543f (0x20) IX[b]
    [19] -1 0 0x00005440 - 0x0000544f (0x10) IX[b]
    [20] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [21] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [22] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [23] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [24] -1 0 0x00005400 - 0x0000541f (0x20) IX[b]
    [25] -1 0 0x000050e0 - 0x000050ff (0x20) IX[b]
    [26] -1 0 0x000050c0 - 0x000050df (0x20) IX[b]
    [27] -1 0 0x000050a0 - 0x000050bf (0x20) IX[b]
    [28] -1 0 0x00005088 - 0x0000508f (0x8) IX[b](B)
    (II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
    (II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
    (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
    (II) "freetype" will be loaded. This was enabled by default and also specified in the config file.
    (II) "record" will be loaded. This was enabled by default and also specified in the config file.
    (II) "dri" will be loaded. This was enabled by default and also specified in the config file.
    (II) LoadModule: "xtrap"
    (II) Loading /usr/lib/xorg/modules/extensions//libxtrap.so
    (II) Module xtrap: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 0.3
    (II) Loading extension DEC-XTRAP
    (II) LoadModule: "extmod"
    (II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
    (II) Module extmod: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 0.3
    (II) Loading extension SHAPE
    (II) Loading extension MIT-SUNDRY-NONSTANDARD
    (II) Loading extension BIG-REQUESTS
    (II) Loading extension SYNC
    (II) Loading extension MIT-SCREEN-SAVER
    (II) Loading extension XC-MISC
    (II) Loading extension XFree86-VidModeExtension
    (II) Loading extension XFree86-Misc
    (II) Loading extension XFree86-DGA
    (II) Loading extension DPMS
    (II) Loading extension TOG-CUP
    (II) Loading extension Extended-Visual-Information
    (II) Loading extension XVideo
    (II) Loading extension XVideo-MotionCompensation
    (II) Loading extension X-Resource
    (II) LoadModule: "record"
    (II) Loading /usr/lib/xorg/modules/extensions//librecord.so
    (II) Module record: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.13.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 0.3
    (II) Loading extension RECORD
    (II) LoadModule: "dbe"
    (II) Loading /usr/lib/xorg/modules/extensions//libdbe.so
    (II) Module dbe: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    Module class: X.Org Server Extension
    ABI class: X.Org Server Extension, version 0.3
    (II) Loading extension DOUBLE-BUFFER
    (II) LoadModule: "glx"
    (II) Loading /usr/lib/xorg/modules/extensions//libglx.so
    (II) Module glx: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    ABI class: X.Org Server Extension, version 0.3
    (==) AIGLX enabled
    (II) Loading extension GLX
    (II) LoadModule: "dri"
    (II) Loading /usr/lib/xorg/modules/extensions//libdri.so
    (II) Module dri: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    ABI class: X.Org Server Extension, version 0.3
    (II) Loading extension XFree86-DRI
    (II) LoadModule: "freetype"
    (II) Loading /usr/lib/xorg/modules/fonts//libfreetype.so
    (II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
    compiled for 1.4.0.90, module version = 2.1.0
    Module class: X.Org Font Renderer
    ABI class: X.Org Font Renderer, version 0.5
    (II) Loading font FreeType
    (II) LoadModule: "synaptics"
    (II) Loading /usr/lib/xorg/modules/input//synaptics_drv.so
    (II) Module synaptics: vendor="X.Org Foundation"
    compiled for 4.3.99.902, module version = 1.0.0
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 2.0
    (II) LoadModule: "intel"
    (II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so
    (II) Module intel: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 2.2.1
    Module class: X.Org Video Driver
    ABI class: X.Org Video Driver, version 2.0
    (II) LoadModule: "synaptics"
    (II) Reloading /usr/lib/xorg/modules/input//synaptics_drv.so
    (II) LoadModule: "kbd"
    (II) Loading /usr/lib/xorg/modules/input//kbd_drv.so
    (II) Module kbd: vendor="X.Org Foundation"
    compiled for 1.4.0, module version = 1.2.2
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 2.0
    (II) LoadModule: "mouse"
    (II) Loading /usr/lib/xorg/modules/input//mouse_drv.so
    (II) Module mouse: vendor="X.Org Foundation"
    compiled for 1.4.0, module version = 1.2.3
    Module class: X.Org XInput Driver
    ABI class: X.Org XInput driver, version 2.0
    (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
    i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
    E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, G35, 965Q, 946GZ,
    965GM, 965GME/GLE, G33, Q35, Q33, Intel Integrated Graphics Device
    (II) Primary Device is: PCI 00:02:0
    (WW) intel: No matching Device section for instance (BusID PCI:0:2:1) found
    (--) Chipset 945GM found
    (II) resource ranges after xf86ClaimFixedResources() call:
    [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[b]E(B)
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0xd0000000 - 0xd0001fff (0x2000) MX[b]
    [5] -1 0 0xd0100000 - 0xd0100fff (0x1000) MX[b]
    [6] -1 0 0xd0544000 - 0xd05443ff (0x400) MX[b]
    [7] -1 0 0xd0340000 - 0xd0343fff (0x4000) MX[b]
    [8] -1 0 0xd0280000 - 0xd02fffff (0x80000) MX[b](B)
    [9] -1 0 0xd0300000 - 0xd033ffff (0x40000) MX[b](B)
    [10] -1 0 0xc0000000 - 0xcfffffff (0x10000000) MX[b](B)
    [11] -1 0 0xd0200000 - 0xd027ffff (0x80000) MX[b](B)
    [12] -1 0 0xd0003100 - 0xd00031ff (0x100) MX[b]
    [13] -1 0 0xd0003800 - 0xd000387f (0x80) MX[b]
    [14] -1 0 0xd0003400 - 0xd00034ff (0x100) MX[b]
    [15] -1 0 0xd0003000 - 0xd000307f (0x80) MX[b]
    [16] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [17] -1 0 0x00000000 - 0x000000ff (0x100) IX[b]
    [18] -1 0 0x00005420 - 0x0000543f (0x20) IX[b]
    [19] -1 0 0x00005440 - 0x0000544f (0x10) IX[b]
    [20] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [21] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [22] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [23] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [24] -1 0 0x00005400 - 0x0000541f (0x20) IX[b]
    [25] -1 0 0x000050e0 - 0x000050ff (0x20) IX[b]
    [26] -1 0 0x000050c0 - 0x000050df (0x20) IX[b]
    [27] -1 0 0x000050a0 - 0x000050bf (0x20) IX[b]
    [28] -1 0 0x00005088 - 0x0000508f (0x8) IX[b](B)
    (II) resource ranges after probing:
    [0] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[b]E(B)
    [1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [4] -1 0 0xd0000000 - 0xd0001fff (0x2000) MX[b]
    [5] -1 0 0xd0100000 - 0xd0100fff (0x1000) MX[b]
    [6] -1 0 0xd0544000 - 0xd05443ff (0x400) MX[b]
    [7] -1 0 0xd0340000 - 0xd0343fff (0x4000) MX[b]
    [8] -1 0 0xd0280000 - 0xd02fffff (0x80000) MX[b](B)
    [9] -1 0 0xd0300000 - 0xd033ffff (0x40000) MX[b](B)
    [10] -1 0 0xc0000000 - 0xcfffffff (0x10000000) MX[b](B)
    [11] -1 0 0xd0200000 - 0xd027ffff (0x80000) MX[b](B)
    [12] -1 0 0xd0003100 - 0xd00031ff (0x100) MX[b]
    [13] -1 0 0xd0003800 - 0xd000387f (0x80) MX[b]
    [14] -1 0 0xd0003400 - 0xd00034ff (0x100) MX[b]
    [15] -1 0 0xd0003000 - 0xd000307f (0x80) MX[b]
    [16] 0 0 0x000a0000 - 0x000affff (0x10000) MS[b]
    [17] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[b]
    [18] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[b]
    [19] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [20] -1 0 0x00000000 - 0x000000ff (0x100) IX[b]
    [21] -1 0 0x00005420 - 0x0000543f (0x20) IX[b]
    [22] -1 0 0x00005440 - 0x0000544f (0x10) IX[b]
    [23] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [24] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [25] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [26] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [27] -1 0 0x00005400 - 0x0000541f (0x20) IX[b]
    [28] -1 0 0x000050e0 - 0x000050ff (0x20) IX[b]
    [29] -1 0 0x000050c0 - 0x000050df (0x20) IX[b]
    [30] -1 0 0x000050a0 - 0x000050bf (0x20) IX[b]
    [31] -1 0 0x00005088 - 0x0000508f (0x8) IX[b](B)
    [32] 0 0 0x000003b0 - 0x000003bb (0xc) IS[b]
    [33] 0 0 0x000003c0 - 0x000003df (0x20) IS[b]
    (II) Setting vga for screen 0.
    (II) Loading sub module "int10"
    (II) LoadModule: "int10"
    (II) Loading /usr/lib/xorg/modules//libint10.so
    (II) Module int10: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    ABI class: X.Org Video Driver, version 2.0
    (II) Loading sub module "vbe"
    (II) LoadModule: "vbe"
    (II) Loading /usr/lib/xorg/modules//libvbe.so
    (II) Module vbe: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.1.0
    ABI class: X.Org Video Driver, version 2.0
    (II) Loading sub module "vgahw"
    (II) LoadModule: "vgahw"
    (II) Loading /usr/lib/xorg/modules//libvgahw.so
    (II) Module vgahw: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 0.1.0
    ABI class: X.Org Video Driver, version 2.0
    (**) intel(0): Depth 24, (--) framebuffer bpp 32
    (==) intel(0): RGB weight 888
    (==) intel(0): Default visual is TrueColor
    (II) intel(0): Integrated Graphics Chipset: Intel(R) 945GM
    (--) intel(0): Chipset: "945GM"
    (--) intel(0): Linear framebuffer at 0xC0000000
    (--) intel(0): IO registers at addr 0xD0200000
    (II) intel(0): 2 display pipes available.
    (==) intel(0): Using EXA for acceleration
    (II) Loading sub module "ddc"
    (II) LoadModule: "ddc"(II) Module "ddc" already built-in
    (II) Loading sub module "i2c"
    (II) LoadModule: "i2c"(II) Module "i2c" already built-in
    (II) intel(0): Output VGA using monitor section Monitor0
    (II) intel(0): I2C bus "CRTDDC_A" initialized.
    (II) intel(0): Output LVDS has no monitor section
    (II) intel(0): I2C bus "LVDSDDC_C" initialized.
    (II) intel(0): I2C device "LVDSDDC_C:ddc2" registered at address 0xA0.
    (II) intel(0): EDID vendor "AUO", prod id 8564
    (II) Loading sub module "int10"
    (II) LoadModule: "int10"
    (II) Reloading /usr/lib/xorg/modules//libint10.so
    (II) intel(0): initializing int10
    (WW) intel(0): Bad V_BIOS checksum
    (II) intel(0): Primary V_BIOS segment is: 0xc000
    (II) intel(0): VESA BIOS detected
    (II) intel(0): VESA VBE Version 3.0
    (II) intel(0): VESA VBE Total Mem: 7872 kB
    (II) intel(0): VESA VBE OEM: Intel(r) 82945GM Chipset Family Graphics Chip Accelerated VGA BIOS
    (II) intel(0): VESA VBE OEM Software Rev: 1.0
    (II) intel(0): VESA VBE OEM Vendor: Intel Corporation
    (II) intel(0): VESA VBE OEM Product: Intel(r) 82945GM Chipset Family Graphics Controller
    (II) intel(0): VESA VBE OEM Product Rev: Hardware Version 0.0
    (II) intel(0): I2C bus "SDVOCTRL_E for SDVOB" initialized.
    (II) intel(0): I2C device "SDVOCTRL_E for SDVOB:SDVO Controller B" registered at address 0x70.
    (II) intel(0): No SDVO device found on SDVOB
    (II) intel(0): I2C device "SDVOCTRL_E for SDVOB:SDVO Controller B" removed.
    (II) intel(0): I2C bus "SDVOCTRL_E for SDVOB" removed.
    (II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" initialized.
    (II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C" registered at address 0x72.
    (II) intel(0): No SDVO device found on SDVOC
    (II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C" removed.
    (II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" removed.
    (II) intel(0): Output TV has no monitor section
    (II) intel(0): EDID vendor "AUO", prod id 8564
    (II) intel(0): Output VGA disconnected
    (II) intel(0): Output LVDS connected
    (II) intel(0): Output TV disconnected
    (II) intel(0): Output LVDS using initial mode 1280x800
    (II) intel(0): Monitoring connected displays enabled
    (II) intel(0): detected 256 kB GTT.
    (II) intel(0): detected 7932 kB stolen memory.
    (==) intel(0): video overlay key set to 0x101fe
    (==) intel(0): Will not try to enable page flipping
    (==) intel(0): Triple buffering disabled
    (==) intel(0): Using gamma correction (1.0, 1.0, 1.0)
    (**) intel(0): Display dimensions: (338, 211) mm
    (**) intel(0): DPI set to (96, 154)
    (II) Loading sub module "fb"
    (II) LoadModule: "fb"
    (II) Loading /usr/lib/xorg/modules//libfb.so
    (II) Module fb: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    ABI class: X.Org ANSI C Emulation, version 0.3
    (II) Loading sub module "exa"
    (II) LoadModule: "exa"
    (II) Loading /usr/lib/xorg/modules//libexa.so
    (II) Module exa: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 2.2.0
    ABI class: X.Org Video Driver, version 2.0
    (II) Loading sub module "ramdac"
    (II) LoadModule: "ramdac"(II) Module "ramdac" already built-in
    (II) intel(0): Comparing regs from server start up to After PreInit
    (WW) intel(0): Register 0x61200 (PP_STATUS) changed from 0xc0000008 to 0xd000000a
    (WW) intel(0): PP_STATUS before: on, ready, sequencing idle
    (WW) intel(0): PP_STATUS after: on, ready, sequencing on
    (WW) intel(0): Register 0x68080 (TV_FILTER_CTL_1) changed from 0x8000085e to 0x800010bb
    (WW) intel(0): Register 0x68084 (TV_FILTER_CTL_2) changed from 0x00012d2d to 0x00028283
    (WW) intel(0): Register 0x68088 (TV_FILTER_CTL_3) changed from 0x00009696 to 0x00014141
    (==) Depth 24 pixmap format is 32 bpp
    (II) do I need RAC? No, I don't.
    (II) resource ranges after preInit:
    [0] 0 0 0xd0300000 - 0xd033ffff (0x40000) MS[b]
    [1] 0 0 0xc0000000 - 0xcfffffff (0x10000000) MS[b]
    [2] 0 0 0xd0200000 - 0xd027ffff (0x80000) MS[b]
    [3] -1 0 0x00100000 - 0x3fffffff (0x3ff00000) MX[b]E(B)
    [4] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
    [5] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
    [6] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
    [7] -1 0 0xd0000000 - 0xd0001fff (0x2000) MX[b]
    [8] -1 0 0xd0100000 - 0xd0100fff (0x1000) MX[b]
    [9] -1 0 0xd0544000 - 0xd05443ff (0x400) MX[b]
    [10] -1 0 0xd0340000 - 0xd0343fff (0x4000) MX[b]
    [11] -1 0 0xd0280000 - 0xd02fffff (0x80000) MX[b](B)
    [12] -1 0 0xd0300000 - 0xd033ffff (0x40000) MX[b](B)
    [13] -1 0 0xc0000000 - 0xcfffffff (0x10000000) MX[b](B)
    [14] -1 0 0xd0200000 - 0xd027ffff (0x80000) MX[b](B)
    [15] -1 0 0xd0003100 - 0xd00031ff (0x100) MX[b]
    [16] -1 0 0xd0003800 - 0xd000387f (0x80) MX[b]
    [17] -1 0 0xd0003400 - 0xd00034ff (0x100) MX[b]
    [18] -1 0 0xd0003000 - 0xd000307f (0x80) MX[b]
    [19] 0 0 0x000a0000 - 0x000affff (0x10000) MS[b](OprD)
    [20] 0 0 0x000b0000 - 0x000b7fff (0x8000) MS[b](OprD)
    [21] 0 0 0x000b8000 - 0x000bffff (0x8000) MS[b](OprD)
    [22] 0 0 0x00005088 - 0x0000508f (0x8) IS[b]
    [23] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
    [24] -1 0 0x00000000 - 0x000000ff (0x100) IX[b]
    [25] -1 0 0x00005420 - 0x0000543f (0x20) IX[b]
    [26] -1 0 0x00005440 - 0x0000544f (0x10) IX[b]
    [27] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [28] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [29] -1 0 0x000001f0 - 0x000001f0 (0x1) IX[b]
    [30] -1 0 0x000001f0 - 0x000001f7 (0x8) IX[b]
    [31] -1 0 0x00005400 - 0x0000541f (0x20) IX[b]
    [32] -1 0 0x000050e0 - 0x000050ff (0x20) IX[b]
    [33] -1 0 0x000050c0 - 0x000050df (0x20) IX[b]
    [34] -1 0 0x000050a0 - 0x000050bf (0x20) IX[b]
    [35] -1 0 0x00005088 - 0x0000508f (0x8) IX[b](B)
    [36] 0 0 0x000003b0 - 0x000003bb (0xc) IS[b](OprU)
    [37] 0 0 0x000003c0 - 0x000003df (0x20) IS[b](OprU)
    (II) intel(0): Kernel reported 488960 total, 1 used
    (II) intel(0): I830CheckAvailableMemory: 1955836 kB available
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device or address)
    drmOpenDevice: open result is -1, (No such device or address)
    drmOpenDevice: Open failed
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is -1, (No such device or address)
    drmOpenDevice: open result is -1, (No such device or address)
    drmOpenDevice: Open failed
    [drm] failed to load kernel module "i915"
    (EE) [drm] drmOpen failed.
    (EE) intel(0): [dri] DRIScreenInit failed. Disabling DRI.
    (==) intel(0): VideoRam: 262144 KB
    (**) intel(0): Framebuffer compression enabled
    (**) intel(0): Tiling enabled
    (II) intel(0): adjusting plane->pipe mappings to allow for framebuffer compression
    (II) intel(0): Page Flipping disabled
    (==) intel(0): Write-combining range (0xc0000000,0x10000000)
    (II) intel(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
    (II) EXA(0): Offscreen pixmap area of 19660800 bytes
    (II) EXA(0): Driver registered support for the following operations:
    (II) Solid
    (II) Copy
    (II) Composite (RENDER acceleration)
    (==) intel(0): Backing store disabled
    (==) intel(0): Silken mouse enabled
    (II) intel(0): Initializing HW Cursor
    (II) intel(0): xf86BindGARTMemory: bind key 0 at 0x007bf000 (pgoffset 1983)
    (II) intel(0): xf86BindGARTMemory: bind key 1 at 0x00c80000 (pgoffset 3200)
    (II) intel(0): Fixed memory allocation layout:
    (II) intel(0): 0x00000000-0x0001ffff: ring buffer (128 kB)
    (II) intel(0): 0x00020000-0x0061ffff: compressed frame buffer (6144 kB, 0x000000007f820000 physical
    (II) intel(0): 0x00620000-0x00620fff: compressed ll buffer (4 kB, 0x000000007fe20000 physical
    (II) intel(0): 0x00621000-0x0062afff: HW cursors (40 kB, 0x000000007fe21000 physical
    (II) intel(0): 0x0062b000-0x00632fff: logical 3D context (32 kB)
    (II) intel(0): 0x00633000-0x00633fff: overlay registers (4 kB, 0x000000007fe33000 physical
    (II) intel(0): 0x00640000-0x00c7ffff: front buffer (6400 kB)
    (II) intel(0): 0x007bf000: end of stolen memory
    (II) intel(0): 0x00c80000-0x01f3ffff: exa offscreen (19200 kB)
    (II) intel(0): 0x10000000: end of aperture
    (II) intel(0): Output configuration:
    (II) intel(0): Pipe A is off
    (II) intel(0): Display plane B is now disabled and connected to pipe A.
    (II) intel(0): Pipe B is on
    (II) intel(0): Display plane A is now enabled and connected to pipe B.
    (II) intel(0): Output VGA is connected to pipe none
    (II) intel(0): Output LVDS is connected to pipe B
    (II) intel(0): Output TV is connected to pipe none
    (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
    (II) intel(0): Set up textured video
    (II) intel(0): Set up overlay video
    (II) intel(0): direct rendering: Failed
    (--) RandR disabled
    (II) Initializing built-in extension MIT-SHM
    (II) Initializing built-in extension XInputExtension
    (II) Initializing built-in extension XTEST
    (II) Initializing built-in extension XKEYBOARD
    (II) Initializing built-in extension XC-APPGROUP
    (II) Initializing built-in extension XAccessControlExtension
    (II) Initializing built-in extension SECURITY
    (II) Initializing built-in extension XINERAMA
    (II) Initializing built-in extension XFIXES
    (II) Initializing built-in extension XFree86-Bigfont
    (II) Initializing built-in extension RENDER
    (II) Initializing built-in extension RANDR
    (II) Initializing built-in extension COMPOSITE
    (II) Initializing built-in extension DAMAGE
    (II) Initializing built-in extension XEVIE
    (II) AIGLX: Screen 0 is not DRI capable
    (II) Loading sub module "GLcore"
    (II) LoadModule: "GLcore"
    (II) Loading /usr/lib/xorg/modules/extensions//libGLcore.so
    (II) Module GLcore: vendor="X.Org Foundation"
    compiled for 1.4.0.90, module version = 1.0.0
    ABI class: X.Org Server Extension, version 0.3
    (II) GLX: Initialized MESA-PROXY GL provider for screen 0
    (II) intel(0): Setting screen physical size to 331 x 207
    (II) Synaptics touchpad driver version 0.14.6 (1406)
    (--) Touchpad auto-dev sets device to /dev/input/event5
    (**) Option "Device" "/dev/input/event5"
    (**) Option "SHMConfig" "on"
    (**) Option "LeftEdge" "1700"
    (**) Option "RightEdge" "5300"
    (**) Option "TopEdge" "1700"
    (**) Option "BottomEdge" "4200"
    (**) Option "VertScrollDelta" "100"
    (**) Option "FingerLow" "25"
    (**) Option "FingerHigh" "30"
    (**) Option "MaxTapTime" "180"
    (**) Option "MaxTapMove" "220"
    (--) Touchpad touchpad found
    (**) Touchpad: always reports core events
    (**) Option "CoreKeyboard"
    (**) Keyboard0: always reports core events
    (**) Option "Protocol" "standard"
    (**) Keyboard0: Protocol: standard
    (**) Option "AutoRepeat" "500 30"
    (**) Option "XkbRules" "xorg"
    (**) Keyboard0: XkbRules: "xorg"
    (**) Option "XkbModel" "pc105"
    (**) Keyboard0: XkbModel: "pc105"
    (**) Option "XkbLayout" "us"
    (**) Keyboard0: XkbLayout: "us"
    (**) Option "CustomKeycodes" "off"
    (**) Keyboard0: CustomKeycodes disabled
    (**) Option "Protocol" "auto"
    (**) Mouse0: Device: "/dev/input/mice"
    (**) Mouse0: Protocol: "auto"
    (**) Option "CorePointer"
    (**) Mouse0: always reports core events
    (**) Option "Device" "/dev/input/mice"
    (==) Mouse0: Emulate3Buttons, Emulate3Timeout: 50
    (**) Option "ZAxisMapping" "4 5 6 7"
    (**) Mouse0: ZAxisMapping: buttons 4, 5, 6 and 7
    (**) Mouse0: Buttons: 11
    (**) Mouse0: Sensitivity: 1
    (II) evaluating device (Mouse0)
    (II) XINPUT: Adding extended input device "Mouse0" (type: MOUSE)
    (II) evaluating device (Keyboard0)
    (II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD)
    (II) evaluating device (Touchpad)
    (II) XINPUT: Adding extended input device "Touchpad" (type: MOUSE)
    (--) Mouse0: PnP-detected protocol: "ExplorerPS/2"
    (II) Mouse0: ps2EnableDataReporting: succeeded
    (--) Touchpad auto-dev sets device to /dev/input/event5
    (**) Option "Device" "/dev/input/event5"
    (--) Touchpad touchpad found
    Could not init font path element /usr/share/fonts/Type1, removing from list!
    AUDIT: Mon Mar 3 00:21:47 2008: 10765 X: client 7 rejected from local host (uid 1001)
    (II) intel(0): xf86UnbindGARTMemory: unbind key 0
    (II) intel(0): xf86UnbindGARTMemory: unbind key 1
    (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
    (II) No APM support in BIOS or kernel
    (II) intel(0): xf86BindGARTMemory: bind key 0 at 0x007bf000 (pgoffset 1983)
    (II) intel(0): xf86BindGARTMemory: bind key 1 at 0x00c80000 (pgoffset 3200)
    (II) intel(0): Fixed memory allocation layout:
    (II) intel(0): 0x00000000-0x0001ffff: ring buffer (128 kB)
    (II) intel(0): 0x00020000-0x0061ffff: compressed frame buffer (6144 kB, 0x000000007f820000 physical
    (II) intel(0): 0x00620000-0x00620fff: compressed ll buffer (4 kB, 0x000000007fe20000 physical
    (II) intel(0): 0x00621000-0x0062afff: HW cursors (40 kB, 0x000000007fe21000 physical
    (II) intel(0): 0x0062b000-0x00632fff: logical 3D context (32 kB)
    (II) intel(0): 0x00633000-0x00633fff: overlay registers (4 kB, 0x000000007fe33000 physical
    (II) intel(0): 0x00640000-0x00c7ffff: front buffer (6400 kB)
    (II) intel(0): 0x007bf000: end of stolen memory
    (II) intel(0): 0x00c80000-0x01f3ffff: exa offscreen (19200 kB)
    (II) intel(0): 0x10000000: end of aperture
    (II) intel(0): Output configuration:
    (II) intel(0): Pipe A is off
    (II) intel(0): Display plane B is now disabled and connected to pipe B.
    (II) intel(0): Pipe B is on
    (II) intel(0): Display plane A is now enabled and connected to pipe B.
    (II) intel(0): Output VGA is connected to pipe none
    (II) intel(0): Output LVDS is connected to pipe B
    (II) intel(0): Output TV is connected to pipe none
    (II) Mouse0: ps2EnableDataReporting: succeeded
    (--) Touchpad auto-dev sets device to /dev/input/event5
    (**) Option "Device" "/dev/input/event5"
    (--) Touchpad touchpad found
    Can anyone help me with this?
    Last edited by bughunter2 (2008-03-03 01:06:30)

    The standard arch kernel includes all the required modules, at most you need to load them explicitly listing them in MODULES in /etc/rc.conf
    You need also the hw specific stuff, that is i915 and intelagp. Check lsmod and see if they are loaded. If they are not, inspect dmesg and see if udev tries to load them and fails for some reason.
    I remember some cases where intelagp and i915 are not loaded by udev in the right order, if this is your case you can try to list them in the right order in MODULES.
    There should be no need to recompile the kernel or to install a particular version of dri (just use the arch packages for mesa, libdrm etc; but I guess you have them already)

  • Adding a custom rendering extension to SQL Server Reporting Services 2012 for SharePoint 2010 integrated mode

    We are attempting to add OfficeWriter report rendering extensions for SSRS 2012 in SharePoint (2010) integrated mode through powershell. The documentation for “New-SPRSExtension” is rather
    sparse and we have not found any clear examples on the internet. With SSRS 2012 in native mode, we make the following two changes to the config files:
    We add the following report rendering extension declaration to
    RSReportServer.config:
    <Configuration>
        <Extensions>
            <Render>
                <Extension Name="XLTemplate" Type="SoftArtisans.OfficeWriter.ReportingServices.ExcelTemplateRenderer,
    SoftArtisans.OfficeWriter.RS2008"/>
                <Extension Name="WordTemplate" Type="SoftArtisans.OfficeWriter.ReportingServices.WordTemplateRenderer,
    SoftArtisans.OfficeWriter.RS2008"/>
            </Render>
        </Extensions>
    </Configuration>
    We add the following security trust codegroup to
    RSSvrPolicy.config:
    <configuration>
        <mscorlib>
            <security>
                <policy>
                    <PolicyLevel version="1">
                  <CodeGroup version="1" PermissionSetName="Nothing">
                    <CodeGroup
                                version="*"
                                PermissionSetName="FullTrust"
                                Name="SoftArtisans_OfficeWriter_Strong_Name"
                                Description="This
    code group grants SoftArtisans OfficeWriter code full trust.">
                              <IMembershipCondition
                                class="StrongNameMembershipCondition"
                                version="*"
                                PublicKeyBlob="00240000048000009400000006020000002400005253413100040000010001004779CB207F11
                                5E86EF9DD3233F9F130F8891911345176650F72330F84CA3F54C96DEB08439680660F02872EEF5DA3955
                                A14C63F96E57DFB71B1535280C37DA2CB5BA37D78A9882414DB11F67FD66DEBC4AD93DD34F4A587D34D
                                B4D23D9C6AF83431D88A7EF42BB01082913F3560DCB50129C5BBA7ECA0DE8BC286DA74F58FADE"/>
                  </CodeGroup>
              </CodeGroup>
           </PolicyLevel>
        </policy>
       </security>
      </mscorlib>
    </configuration>
    What would be the equivalent syntax for “New-SPRSExtension” to do the above for SSRS 2012 in SharePoint (2010) integrated mode?
    Alison Bird SoftArtisans Technical Services www.softartisans.com

    Hi Alison,
    Unlike the deployment of other custom extensions such as custom delivery extension and data processing extension, it is not necessary to add a code group for the custom assembly that grants FullTrust permission for the extension during the deployment of
    custom rendering extension. If you have copy the custom assembly to the %ProgramFiles%\Microsoft SQL Server\MSRS11.<InstanceName>\Reporting Services\ReportServer\Bin folder, and modify the RSreportserver.config file to add the extention entry properly,
    please open the SSRS Service Application created on the SharePoint and verify that your extension is included in the list of available export types for a report.
    Reference:
    Deploying a Rendering Extension
    Regards,
    Mike Yin
    TechNet Community Support

Maybe you are looking for

  • PROBLEM WITH ALT-V WHEN USING CROATIAN KEYBOARD

    Hi, When Typing ALT GR+V (@ sign) in Croatian Keyboard, all the text from clipboard is copied into the text box (as it is pressed CTRL+V) plus the @sign. There were some bugs filed long back regarding a similar issue for the German keyboard where the

  • Satellite U - Crashes when starting windows and recovery cannot fix

    Most of the time but not every time the laptop crashes when starting windows. I get a blue screen, a dump file is created and then it restarts and gives me the option of starting windows normally or using windows recovery. The windows recovery cannot

  • How to connect your Verizon 4510L to your home Wifi Network

    Hello there!  I recently set my mom up with one of these guys and ran into the problem of having more than 5 devices that need to connect to the Internet and/or each other.  I couldn't find any resources online that described how this can be done, or

  • Dvd to avi

    i need somthing to convert a dvd to avi file. I own the DVD's i want to covert, i just want them on my my macbook so when i travel i dont have to carry around a book of dvds. they are only snowboard and skate videos so they dont take up too much spac

  • Starting Over

    when i switched from a pc to mac i did not want to give up my photo organizational structure i had long established on my pc, it all worked very well. what i have been doing on my mac it downloading the photos using image capture and putting them in