Android Open Source - ProjectSierra V List Element






From Project

Back to project page ProjectSierra.

License

The source code is released under:

GNU General Public License

If you think the Android project ProjectSierra 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

/*
Copyright 2014 Seth Traverse// ww w.  j a v  a2 s  .co m

This file is part of Project Sierra.

Project Sierra 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, either version 3 of the License, or
(at your option) any later version.

Project Sierra 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 Project Sierra.  If not, see <http://www.gnu.org/licenses/>.
 */
package ca.viaware.api.gui.base;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.ArrayList;

import ca.viaware.api.logging.Log;

@SuppressWarnings("serial")
public class VListElement extends VPanel {

  private boolean clicked = false;
  private boolean hovering = false;
  private VList parent;

  private String actionCommand;
  private ArrayList<ActionListener> clickListeners;
  private ArrayList<ActionListener> doubleClickListeners;
  
  private long lastClicked;
  
  public VListElement(final VList parent) {

    setOpaque(false);
    this.parent = parent;

    clickListeners = new ArrayList<ActionListener>();
    doubleClickListeners = new ArrayList<ActionListener>();
    lastClicked = System.currentTimeMillis();
    
    final VListElement instance = this;
    addMouseListener(new MouseListener() {
      @Override
      public void mouseReleased(MouseEvent e) {

      }
      @Override
      public void mousePressed(MouseEvent e) {

      }
      @Override
      public void mouseExited(MouseEvent e) {
        hovering = false;
        repaint();
      }
      @Override
      public void mouseEntered(MouseEvent e) {
        hovering = true;
        repaint();
      }
      @Override
      public void mouseClicked(MouseEvent e) {
        parent.setClicked(instance);
        setClicked(true);
        for (ActionListener listener : clickListeners) {
          listener.actionPerformed(new ActionEvent(instance, ActionEvent.ACTION_FIRST, actionCommand));
        }
        long currentTime = System.currentTimeMillis();
        if (currentTime - lastClicked < 400) {
          for (ActionListener listener : doubleClickListeners) {
            listener.actionPerformed(new ActionEvent(instance, ActionEvent.ACTION_FIRST, actionCommand));
          }
          currentTime = 0;
        }
        lastClicked = currentTime;
      }
    });

  }
  
  public VList getParentList() {
    return parent;
  }

  public void setActionCommand(String actionCommand) {
    this.actionCommand = actionCommand;
  }
  
  public void addActionListener(ActionListener listener) {
    clickListeners.add(listener);
  }
  
  public void addDoubleClickActionListener(ActionListener listener) {
    doubleClickListeners.add(listener);
  }

  public boolean isOdd() {
    return (parent.getAbove(this) != null ? !parent.getAbove(this).isOdd() : false);
  }

  public void setClicked(boolean clicked) {
    this.clicked = clicked;
    repaint();
  }

  @Override
  public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D)g;
    if (clicked) {
      g2d.setColor(new Color(0x69A8FB));
      g2d.fillRect(0, 0, getWidth(), getHeight());
    } else {
      if (hovering) {
        g2d.setColor(new Color(0xADD1FF));
        g2d.fillRect(0, 0, getWidth(), getHeight());
      } else {
        g2d.setColor(new Color((isOdd() ? 0xF2F4F7 : 0xFFFFFF)));
        g2d.fillRect(0, 0, getWidth(), getHeight());
      }
      g2d.setColor(new Color(0xE5E5E5));
      g2d.drawLine(0, 0, getWidth(), 0);
    }
    super.paint(g);
  }

}




Java Source Code List

ca.viaware.api.audio.AudioUtils.java
ca.viaware.api.gui.base.VButton.java
ca.viaware.api.gui.base.VFrame.java
ca.viaware.api.gui.base.VLabel.java
ca.viaware.api.gui.base.VListElement.java
ca.viaware.api.gui.base.VList.java
ca.viaware.api.gui.base.VMenuBar.java
ca.viaware.api.gui.base.VMenuItem.java
ca.viaware.api.gui.base.VMenu.java
ca.viaware.api.gui.base.VPanel.java
ca.viaware.api.gui.base.VPopupMenu.java
ca.viaware.api.gui.base.VScrollPane.java
ca.viaware.api.gui.base.VScrollingList.java
ca.viaware.api.gui.base.VTextBox.java
ca.viaware.api.gui.base.event.CloseListener.java
ca.viaware.api.logging.Log.java
ca.viaware.api.net.ConnectionHandlerRunnerThread.java
ca.viaware.api.net.ConnectionHandler.java
ca.viaware.api.net.ConnectionListenerThread.java
ca.viaware.api.parse.CommandParser.java
ca.viaware.api.sql.DatabaseFactory.java
ca.viaware.api.sql.DatabaseResults.java
ca.viaware.api.sql.DatabaseRow.java
ca.viaware.api.sql.Database.java
ca.viaware.api.sql.exceptions.ViaWareSQLException.java
ca.viaware.api.sql.factory.BaseFactory.java
ca.viaware.api.sql.factory.obj.DatabaseObject.java
ca.viaware.api.utils.StringUtils.java
ca.viaware.game.Globals.java
ca.viaware.game.ProjectSierra.java
ca.viaware.game.android.AndroidLauncher.java
ca.viaware.game.assets.TilesetLoader.java
ca.viaware.game.assets.TilesetManager.java
ca.viaware.game.assets.Tileset.java
ca.viaware.game.desktop.DesktopLauncher.java
ca.viaware.game.entities.MapObject.java
ca.viaware.game.entity.Entity.java
ca.viaware.game.entity.MovingEntity.java
ca.viaware.game.entity.events.MoveEvent.java
ca.viaware.game.rendering.Renderable.java
ca.viaware.game.screens.GameScreen.java
ca.viaware.game.world.Map.java
ca.viaware.mapmaker.ConstructionKit.java
ca.viaware.mapmaker.gui.components.SidebarButton.java
ca.viaware.mapmaker.gui.windows.assets.editor.EditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.animation.AnimationEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.clothing.ClothingEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.consumable.ConsumableEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.dialog.DialogEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.effect.EffectEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.intelligence.IntelligenceEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.living.LivingEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.quest.QuestEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.sound.SoundEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.weapon.WeaponEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.editor.worldstatic.StaticEditorWindow.java
ca.viaware.mapmaker.gui.windows.assets.explorer.AssetExplorerWindow.java
ca.viaware.mapmaker.gui.windows.control.ControlWindow.java
ca.viaware.mapmaker.gui.windows.world.editor.DesignPanel.java
ca.viaware.mapmaker.gui.windows.world.editor.SidebarListener.java
ca.viaware.mapmaker.gui.windows.world.editor.SidebarPanel.java
ca.viaware.mapmaker.gui.windows.world.editor.WorldEditorWindow.java
ca.viaware.mapmaker.gui.windows.world.explorer.TopBar.java
ca.viaware.mapmaker.gui.windows.world.explorer.WorldExplorerWindow.java
ca.viaware.mapmaker.gui.windows.world.explorer.WorldListElement.java
ca.viaware.mapmaker.obj.GameManager.java
ca.viaware.mapmaker.obj.asset.AssetManager.java
ca.viaware.mapmaker.obj.asset.AssetType.java
ca.viaware.mapmaker.obj.asset.GameAsset.java
ca.viaware.mapmaker.obj.asset.render.AnimationAsset.java
ca.viaware.mapmaker.obj.asset.render.TextureAsset.java
ca.viaware.mapmaker.obj.asset.sys.DialogAsset.java
ca.viaware.mapmaker.obj.asset.sys.EffectAsset.java
ca.viaware.mapmaker.obj.asset.sys.IntelligenceAsset.java
ca.viaware.mapmaker.obj.asset.sys.QuestAsset.java
ca.viaware.mapmaker.obj.asset.sys.SoundAsset.java
ca.viaware.mapmaker.obj.asset.world.ClothingAsset.java
ca.viaware.mapmaker.obj.asset.world.ConsumableAsset.java
ca.viaware.mapmaker.obj.asset.world.LivingAsset.java
ca.viaware.mapmaker.obj.asset.world.StaticAsset.java
ca.viaware.mapmaker.obj.asset.world.WeaponAsset.java
ca.viaware.mapmaker.obj.world.MapObject.java
ca.viaware.mapmaker.obj.world.WorldManager.java
ca.viaware.mapmaker.obj.world.World.java
ca.viaware.tileset.Globals.java
ca.viaware.tileset.Region.java
ca.viaware.tileset.TilesetCreator.java
ca.viaware.tileset.gui.BasicButton.java
ca.viaware.tileset.gui.LabelAndTextPanel.java
ca.viaware.tileset.gui.RawImagePanel.java
ca.viaware.tileset.gui.RawImageWindow.java
ca.viaware.tileset.gui.SidebarPanel.java
ca.viaware.tileset.gui.listeners.SidebarListener.java
ca.viaware.tileset.utils.FileUtils.java
ca.viaware.tileset.utils.Utils.java