Package com.aelitis.azureus.ui.swt.views.skin

Source Code of com.aelitis.azureus.ui.swt.views.skin.SBC_ActivityView

/**
* Created on Jul 2, 2008
*
* Copyright 2008 Vuze, Inc.  All rights reserved.
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License only.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
*/

package com.aelitis.azureus.ui.swt.views.skin;

import org.gudy.azureus2.core3.config.COConfigurationManager;
import org.gudy.azureus2.ui.swt.Utils;

import com.aelitis.azureus.activities.VuzeActivitiesEntry;
import com.aelitis.azureus.activities.VuzeActivitiesManager;
import com.aelitis.azureus.core.messenger.config.PlatformVuzeActivitiesMessenger;
import com.aelitis.azureus.ui.UIFunctionsManager;
import com.aelitis.azureus.ui.mdi.MdiEntry;
import com.aelitis.azureus.ui.mdi.MultipleDocumentInterface;
import com.aelitis.azureus.ui.skin.SkinConstants;
import com.aelitis.azureus.ui.swt.skin.SWTSkinButtonUtility;
import com.aelitis.azureus.ui.swt.skin.SWTSkinObject;
import com.aelitis.azureus.ui.swt.views.skin.sidebar.SideBar;

/**
* @author TuxPaper
* @created Jul 2, 2008
*
*/
public class SBC_ActivityView
  extends SkinView
{
  public final static String ID = "activity-list";

  public final static int MODE_BIGTABLE = -1;

  public final static int MODE_SMALLTABLE = 0;

  public final static int MODE_DEFAULT = MODE_SMALLTABLE;

  private final static String[] modeViewIDs = {
    //SkinConstants.VIEWID_SIDEBAR_ACTIVITY_BIG,
    SkinConstants.VIEWID_SIDEBAR_ACTIVITY_SMALL,
  };

  private final static String[] modeIDs = {
    //"activity.table.big",
    "activity.table.small",
  };

  private int viewMode = -1;

  private SWTSkinButtonUtility btnSmallTable;

  private SWTSkinButtonUtility btnBigTable;

  private SWTSkinObject soListArea;

  // @see com.aelitis.azureus.ui.swt.views.skin.SkinView#showSupport(com.aelitis.azureus.ui.swt.skin.SWTSkinObject, java.lang.Object)
  public Object skinObjectInitialShow(SWTSkinObject skinObject, Object params) {

    soListArea = getSkinObject(ID + "-area");

    SWTSkinObject so;
    so = getSkinObject(ID + "-button-smalltable");
    if (so != null) {
      btnSmallTable = new SWTSkinButtonUtility(so);
      btnSmallTable.addSelectionListener(new SWTSkinButtonUtility.ButtonListenerAdapter() {
        public void pressed(SWTSkinButtonUtility buttonUtility,
            SWTSkinObject skinObject, int stateMask) {
          setViewMode(MODE_SMALLTABLE, true);
        }
      });
    }

    so = getSkinObject(ID + "-button-bigtable");
    if (so != null) {
      btnBigTable = new SWTSkinButtonUtility(so);
      btnBigTable.addSelectionListener(new SWTSkinButtonUtility.ButtonListenerAdapter() {
        public void pressed(SWTSkinButtonUtility buttonUtility,
            SWTSkinObject skinObject, int stateMask) {
          setViewMode(MODE_BIGTABLE, true);
        }
      });
    }

    so = getSkinObject(ID + "-button-right");
    if (so != null) {
      so.setVisible(true);
      SWTSkinButtonUtility btnReadAll = new SWTSkinButtonUtility(so);
      btnReadAll.setTextID("v3.activity.button.readall");
      btnReadAll.addSelectionListener(new SWTSkinButtonUtility.ButtonListenerAdapter() {
        public void pressed(SWTSkinButtonUtility buttonUtility,
            SWTSkinObject skinObject, int stateMask) {
          VuzeActivitiesEntry[] allEntries = VuzeActivitiesManager.getAllEntries();
          for (int i = 0; i < allEntries.length; i++) {
            VuzeActivitiesEntry entry = allEntries[i];
            entry.setRead(true);
          }
        }
      });
    }

    setViewMode(COConfigurationManager.getIntParameter(ID + ".viewmode",
        MODE_DEFAULT), false);

    return null;
  }
 
  public Object skinObjectShown(SWTSkinObject skinObject, Object params) {
    VuzeActivitiesManager.pullActivitiesNow(0, "shown", true);
    return super.skinObjectShown(skinObject, params);
  }

  public int getViewMode() {
    return viewMode;
  }

  public void setViewMode(int viewMode, boolean save) {
    if (viewMode >= modeViewIDs.length || viewMode < 0) {
      viewMode = MODE_DEFAULT;
    }

    if (viewMode == this.viewMode) {
      return;
    }

    int oldViewMode = this.viewMode;

    this.viewMode = viewMode;

    soListArea = getSkinObject(ID + "-area");

    soListArea.getControl().setData("ViewMode", new Long(viewMode));

    if (oldViewMode >= 0 && oldViewMode < modeViewIDs.length) {
      SWTSkinObject soOldViewArea = getSkinObject(modeViewIDs[oldViewMode]);
      if (soOldViewArea != null) {
        soOldViewArea.setVisible(false);
      }
    }

    SWTSkinObject soViewArea = getSkinObject(modeViewIDs[viewMode]);
    if (soViewArea == null) {
      soViewArea = skin.createSkinObject(modeIDs[viewMode], modeIDs[viewMode],
          soListArea);
      skin.layout();
      soViewArea.setVisible(true);
      soViewArea.getControl().setLayoutData(Utils.getFilledFormData());
    } else {
      soViewArea.setVisible(true);
    }

    if (btnSmallTable != null) {
      btnSmallTable.getSkinObject().switchSuffix(
          viewMode == MODE_SMALLTABLE ? "-selected" : "");
    }
    if (btnBigTable != null) {
      btnBigTable.getSkinObject().switchSuffix(
          viewMode == MODE_BIGTABLE ? "-selected" : "");
    }

    if (save) {
      COConfigurationManager.setParameter(ID + ".viewmode", viewMode);
    }

   
    MultipleDocumentInterface mdi = UIFunctionsManager.getUIFunctions().getMDI();
    MdiEntry entry = mdi.getEntry(SideBar.SIDEBAR_SECTION_ACTIVITIES);
    if (entry != null) {
      entry.setLogID(SideBar.SIDEBAR_SECTION_ACTIVITIES + "-" + viewMode);
    }
  }

  protected void removeSelected() {
    SBC_ActivityTableView tv = (SBC_ActivityTableView) SkinViewManager.getBySkinObjectID(modeIDs[viewMode]);
    if (tv != null) {
      tv.removeSelected();
    }
  }

  public int getNumSelected() {
    SBC_ActivityTableView tv = (SBC_ActivityTableView) SkinViewManager.getBySkinObjectID(modeIDs[viewMode]);
    if (tv != null) {
      return tv.getView().getSelectedRowsSize();
    }
    return 0;
  }
}
TOP

Related Classes of com.aelitis.azureus.ui.swt.views.skin.SBC_ActivityView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.