Package cx.fbn.nevernote.gui

Source Code of cx.fbn.nevernote.gui.SavedSearchTreeWidget

/*
* This file is part of NixNote
* Copyright 2009 Randy Baumgarte
*
* This file may be licensed under the terms of of the
* GNU General Public License Version 2 (the ``GPL'').
*
* Software distributed under the License is distributed
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the GPL for the specific language
* governing rights and limitations.
*
* You should have received a copy of the GPL along with this
* program. If not, go to http://www.gnu.org/licenses/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/

package cx.fbn.nevernote.gui;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.evernote.edam.type.SavedSearch;
import com.trolltech.qt.core.Qt.SortOrder;
import com.trolltech.qt.gui.QAbstractItemView;
import com.trolltech.qt.gui.QAction;
import com.trolltech.qt.gui.QContextMenuEvent;
import com.trolltech.qt.gui.QIcon;
import com.trolltech.qt.gui.QMenu;
import com.trolltech.qt.gui.QTreeWidget;
import com.trolltech.qt.gui.QTreeWidgetItem;

public class SavedSearchTreeWidget extends QTreeWidget {
  private QAction editAction;
  private QAction deleteAction;
  private QAction addAction;
  private QAction iconAction;
  private HashMap<String, QIcon>  icons;
 
 
  public SavedSearchTreeWidget() {
//    setAcceptDrops(true);
//    setDragEnabled(true);
    setProperty("hideTree", true);
    header().setStyleSheet("QHeaderView::section {border: 0.0em;}");
    setAcceptDrops(false);
    setDragEnabled(false);
//    setDragDropMode(QAbstractItemView.DragDropMode.DragDrop);
      setHeaderLabel(tr("Saved Searches"));
      setSelectionMode(QAbstractItemView.SelectionMode.MultiSelection);
  }
 
  public void setEditAction(QAction e) {
    editAction = e;
  }
  public void setDeleteAction(QAction d) {
    deleteAction = d;
  }
  public void setAddAction(QAction a) {
    addAction = a;
  }
  public void setIconAction(QAction a) {
    iconAction = a;
  }
  public void setIcons(HashMap<String, QIcon> i) {
    icons = i;
  }
 
  public void load(List<SavedSearch> tempList) {
      SavedSearch search;
      List<NTreeWidgetItem> index = new ArrayList<NTreeWidgetItem>();
         
      //Clear out the tree & reload
      clear();
      String iconPath = new String("classpath:cx/fbn/nevernote/icons/");
    QIcon icon = new QIcon(iconPath+"search.png");
     
       for (int i=0; i<tempList.size(); i++) {
         search = tempList.get(i);
         NTreeWidgetItem child = new NTreeWidgetItem();
      child.setText(0, search.getName());
        if (icons != null && !icons.containsKey(search.getGuid())) {
          child.setIcon(0, icon);
        } else {
          child.setIcon(0, icons.get(search.getGuid()));
         }
      child.setText(1, search.getGuid());
      index.add(child);
      addTopLevelItem(child);
     }
      sortItems(0, SortOrder.AscendingOrder);
  }

 
  public boolean selectGuid(String guid) {
    QTreeWidgetItem root = invisibleRootItem();
    QTreeWidgetItem child;

    for (int i=0; i<root.childCount(); i++) {
      child = root.child(i);
      if (child.text(1).equals(guid)) {
        child.setSelected(true);
        return true;
      }
    }
    return false;
  }
 
 
  @Override
  public void contextMenuEvent(QContextMenuEvent event) {
    QMenu menu = new QMenu(this);
    menu.addAction(addAction);
    menu.addAction(editAction);
    menu.addAction(deleteAction);
    menu.addSeparator();
    menu.addAction(iconAction);
    menu.exec(event.globalPos());
  }
 
 
  public void selectSavedSearch(QTreeWidgetItem item) {
    QTreeWidgetItem root = invisibleRootItem();
    QTreeWidgetItem child;
   
    for (int i=0; i<root.childCount(); i++) {
      child = root.child(i);
      if (child.text(1).equals(item.text(1))) {
        child.setSelected(true);
        return;
      }
    }
  }
}
TOP

Related Classes of cx.fbn.nevernote.gui.SavedSearchTreeWidget

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.