⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 elementparser3.java

📁 A translator that converts Qt Designer UI files into SWT java classes. Use the power of Qt Designer
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            }
        }
        
        return layout;
    }
    
    
    //
    //
    //

    private Widget parseMenuBar( XMLElement iElement )
    {
        Widget menuBar = new Widget(Widget.QT_MENU_BAR);

        ElementParserHelper.parseAttributeProperties(iElement, menuBar);
        
        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();
            
            if ( "property".equals(childName) )
            {
                ElementParserHelper.parseProperty(childElement, menuBar);
            }
            else if ( "item".equals(childName) )
            {
                this.parseMenu(childElement, Widget.QT_MENU, menuBar);
            }
            else
            {
                System.err.println("WARNING: Unknown menu element: "+childName);
            }
        }
        
        return menuBar;
    }
    

    private void parseMenu( XMLElement iElement, String iClassName, Widget iParent )
    {
        Widget menu = new Widget(iClassName, iParent);

        ElementParserHelper.parseAttributeProperties(iElement, menu);

        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();
            
            if ( "item".equals(childName) )
            {
                this.parseMenu(childElement, Widget.QT_MENU, menu);
            }
            else if ( "action".equals(childName) )
            {
                this.parseMenu(childElement, Widget.QT_MENU_ACTION, menu);
            }
            else if ( "separator".equals(childName) )
            {
                this.parseMenu(childElement, Widget.QT_MENU_SEPARATOR, menu);
            }
            else
            {
                System.err.println("WARNING: Unknown menu element: "+childName);
            }
        }
    }
    
    
    //
    //
    //

    private void parseToolBars(
        XMLElement      iElement,
        UIDefinition    iUIDefinition )
    {
        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();
            
            if ( "toolbar".equals(childName) )
            {
                Widget toolBar = this.parseToolBar(childElement);
                
                iUIDefinition.addToolBar(toolBar);
            }
            else
            {
                System.err.println("WARNING: Unknown tool bar element: "+childName);
            }
        }
    }

    
    private Widget parseToolBar( XMLElement iElement )
    {
        Widget toolBar = new Widget(Widget.QT_TOOL_BAR);

        ElementParserHelper.parseAttributeProperties(iElement, toolBar);

        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();
            
            if ( "property".equals(childName) )
            {
                ElementParserHelper.parseProperty(childElement, toolBar);
            }
            else if ( "action".equals(childName) )
            {
                Widget child = new Widget(Widget.QT_TOOL_BAR_ACTION, toolBar);

                ElementParserHelper.parseAttributeProperties(childElement, child);
            }
            else if ( "separator".equals(childName) )
            {
                Widget child = new Widget(Widget.QT_TOOL_BAR_SEPARATOR, toolBar);

                ElementParserHelper.parseAttributeProperties(childElement, child);
            }
            else
            {
                System.err.println("WARNING: Unknown tool bar element: "+childName);
            }
        }
        
        return toolBar;
    }

    
    //
    //
    //

    private void parseActions(
        XMLElement      iElement,
        UIDefinition    iUIDefinition )
    {
        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();
            
            if ( "action".equals(childName) )
            {
                Action action = this.parseAction(childElement);
                
                iUIDefinition.addAction(action);
            }
            else
            {
                System.err.println("WARNING: Unknown actions element: "+childName);
            }
        }
    }
    

    private Action parseAction( XMLElement iElement )
    {
        Action action = new Action();

        ElementParserHelper.parseAttributeProperties(iElement, action);

        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement childElement = (XMLElement)(childEnum.nextElement());
            String     childName    = childElement.getName();
            
            if ( "property".equals(childName) )
            {
                ElementParserHelper.parseProperty(childElement, action);
            }
        }
        
        return action;
    }

    
    //
    //
    //

    private void parseImages(
        XMLElement      iElement,
        UIDefinition    iUIDefinition )
    {
        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();
            
            if ( "image".equals(childName) )
            {
                Image image = this.parseImage(childElement);
                
                iUIDefinition.addImage(image);
            }
            else
            {
                System.err.println("WARNING: Unknown actions element: "+childName);
            }
        }
    }
    

    private Image parseImage( XMLElement iElement )
    {
        Image image = new Image();

        ElementParserHelper.parseAttributeProperties(iElement, image);

        Enumeration childEnum = iElement.enumerateChildren();

        while ( childEnum.hasMoreElements() )
        {
            XMLElement  childElement = (XMLElement)(childEnum.nextElement());
            String      childName    = childElement.getName();

            if ( "name".equals(childName) )
            {
                image.setProperty("name", childElement.getContent());
            }
            else if ( "data".equals(childName) )
            {
                this.parseImageData(childElement, image);
            }
        }
        
        return image;
    }

    
    private void parseImageData( XMLElement iElement, Image iImage )
    {
        Enumeration attrEnum = iElement.enumerateAttributeNames();

        while ( attrEnum.hasMoreElements() )
        {
            String name = (String)(attrEnum.nextElement());
            
            iImage.setProperty("data."+name.toLowerCase(), (String)(iElement.getAttribute(name)));
        }
        
        iImage.setProperty("data", iElement.getContent());
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -