Android Open Source - SmartTools Tab Panel






From Project

Back to project page SmartTools.

License

The source code is released under:

GNU General Public License

If you think the Android project SmartTools listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.nj.simba.ctrls;
//  ww  w. j a v  a2 s. co  m

import java.util.List;

import javax.swing.JPanel;

import com.android.ddmlib.IDevice;
import com.nj.simba.app.SmartToolsApp;
import com.nj.simba.base.IDeviceListener;
import com.nj.simba.utils.Config;

/**
 * Singleton
 * @author Honey
 *
 */
public abstract class TabPanel extends SubPanel implements IDeviceListener {
    protected JPanel mTabRootPanel;
    protected JPanel mPageRootPanel;
    protected String mTabPageName;
    
    protected SubPanel mBodyPanel;
    protected SubPanel mLeftPanel;
    protected SubPanel mRightPanel;
    
    protected JPanel mContentBody;
  protected JPanel mContentRight;
  protected JPanel mContentLeft;
  
  protected IDevice mCurDevice;
  protected boolean mIsDeviceChanged;
    
    /**
     * @param parent: top1 level panel of application
     * @param tabPanel: top1 level panel of main body 288, 100, 450, 590
     * @param x: default 288
     * @param y: default 100
     * @param w: default 450
     * @param h: default 586
     */
    public TabPanel(JPanel tabPanel, int x, int y, int w, int h) {
        super(tabPanel, x, y, w, h);
        
        mTabRootPanel = tabPanel;
        
        mPageRootPanel = new JPanel();
        mPageRootPanel.setLayout(null);
        mPageRootPanel.setOpaque(false);
        mPageRootPanel.setBounds(0, 0, w, h);
    }
    
    /**
     * @param parent
     * @param tabPanel
     */
    public TabPanel(JPanel tabPanel) {
        this(tabPanel, 0, 0, Config.WIN_WIDTH, Config.WIN_PANEL_H);
    }
    
    public void createPage() {
        setTabPageName();

        addLeft();
        addRight();
        addBody();
        
        if ( mContentLeft != null ) {
            mPageRootPanel.add(mContentLeft);
            mLeftPanel.addBorder();
        }
        
        if ( mContentRight != null ) {
            mPageRootPanel.add(mContentRight);
            mRightPanel.addBorder();
        }
        
        if ( mContentBody != null ) {
            mPageRootPanel.add(mContentBody);
            mBodyPanel.addBorder();
        }
        
        mTabRootPanel.add(mPageRootPanel, mTabPageName);
    }
    
    protected void createPanel() {
        createPage();
    }
    
    public String getTabPageName() {
        return mTabPageName;
    }
    
    protected void addBody() {
        mContentBody = new JPanel();
        mContentBody.setLayout(null);
        mContentBody.setOpaque(false);
        
        int offsetX = 0;
        int width = Config.WIN_WIDTH;
        
        if ( mLeftPanel != null ) {
            offsetX += mLeftPanel.mPosX;
            offsetX += mLeftPanel.mWidth;
            offsetX += Config.PANEL_GAP;
            width -= Config.PADDING_LEFT + mLeftPanel.mWidth;
            width -= Config.PANEL_GAP;
        } else {
            width -= Config.PADDING_LEFT;
        }
        
        if ( mRightPanel != null ) {
            width -= Config.PANEL_GAP;
            width -= mRightPanel.mWidth + Config.PADDING_RIGHT;
        }
        
        mContentBody.setBounds(offsetX, mPosY, width, Config.WIN_PANEL_H);
        mBodyPanel = new SubPanel(mContentBody, 0, 0, width, Config.WIN_PANEL_H);
    }
    
    protected void addLeft(){
        mContentLeft = new JPanel(); 
        mContentLeft.setLayout(null);
        mContentLeft.setOpaque(false);
        mContentLeft.setBounds(0, 0, Config.PANEL_LEFT_WIDTH, Config.WIN_PANEL_H);
        mLeftPanel = new SubPanel(mContentLeft, 0, 0, Config.PANEL_LEFT_WIDTH, Config.WIN_PANEL_H);
    }
    
    protected void addRight(){
        mContentRight = new JPanel();
        mContentRight.setLayout(null);
        mContentRight.setOpaque(false);
        mContentRight.setBounds(720, 0, 230, Config.WIN_PANEL_H);
        mRightPanel = new SubPanel(mContentRight, 0, 0, 230, Config.WIN_PANEL_H);
    }
    
   
    protected abstract void setTabPageName();
    
    @Override
    public void deviceChanged(SmartToolsApp app, int changeMask){
        // TODO Auto-generated method stub  
    }
    
    @Override
    public void deviceListChanged(SmartToolsApp app) {
        // TODO Auto-generated method stub        
    }
    
    public void onAppExit() {
        // TODO Auto-generated method stub  
    }
    
    @Override
    public void deviceConnected(SmartToolsApp app) {
        IDevice device = app.getCurDevice();
        mIsDeviceChanged = false;
        
        if ( mCurDevice != device ) {
            mIsDeviceChanged = true;
        }
        
        mCurDevice =  device;
    }
    
    @Override
    public void deviceDisconnected(SmartToolsApp app) {
        mCurDevice = null;
    }
    
    
}




Java Source Code List

com.nj.simba.BatteryReceiver.java
com.nj.simba.DaemonController.java
com.nj.simba.DeviceInfo.java
com.nj.simba.DviceInfoCollector.java
com.nj.simba.IDeviceInfo.java
com.nj.simba.PackageReceiver.java
com.nj.simba.SdcardStatuChangeReceiver.java
com.nj.simba.SmartToolService.java
com.nj.simba.app.MainFrame.java
com.nj.simba.app.SmartToolsApp.java
com.nj.simba.app.ToolbarPanel.java
com.nj.simba.base.IDeviceListener.java
com.nj.simba.base.IDeviceReqListener.java
com.nj.simba.connect.DeviceCmdWorker.java
com.nj.simba.connect.DeviceConnectWorker.java
com.nj.simba.connect.DeviceMessage.java
com.nj.simba.connect.DeviceMsgChannel.java
com.nj.simba.ctrls.FilerListRender.java
com.nj.simba.ctrls.ImageBtn.java
com.nj.simba.ctrls.LeftPanel.java
com.nj.simba.ctrls.MetroCoolBtn.java
com.nj.simba.ctrls.MyProgessBar.java
com.nj.simba.ctrls.SubPanel.java
com.nj.simba.ctrls.TabPanel.java
com.nj.simba.ctrls.ThemeButton.java
com.nj.simba.ctrls.ThemeLabel.java
com.nj.simba.ctrls.ToolbarBtn.java
com.nj.simba.cts.CtsResultReset.java
com.nj.simba.page.appmgr.AppTableRender.java
com.nj.simba.page.appmgr.DeviceAppTableModel.java
com.nj.simba.page.appmgr.PageAppMgr.java
com.nj.simba.page.device.DeviceListRender.java
com.nj.simba.page.device.DevicePanel.java
com.nj.simba.page.device.PageMyDevice.java
com.nj.simba.page.filer.FileTableRender.java
com.nj.simba.page.filer.PageFiler.java
com.nj.simba.page.logcat.ILogCatBufferChangeListener.java
com.nj.simba.page.logcat.LogCatMessageList.java
com.nj.simba.page.logcat.LogCatMessageParser.java
com.nj.simba.page.logcat.LogCatMessage.java
com.nj.simba.page.logcat.LogCatPidToNameMapper.java
com.nj.simba.page.logcat.LogCatReceiverFactory.java
com.nj.simba.page.logcat.LogCatReceiver.java
com.nj.simba.page.logcat.PageLogcat.java
com.nj.simba.utils.Config.java
com.nj.simba.utils.FileSyncHelper.java
com.nj.simba.utils.I2CTest.java
com.nj.simba.utils.IProgressMonitor.java
com.nj.simba.utils.SyncProgressHelper.java
com.nj.simba.utils.SyncProgressMonitor.java
com.nj.simba.utils.Utils.java