📄 screenmanager.java
字号:
public void showScreen(Panel panel, String title, String iconCls, String screenName) {
String panelID = panel.getId();
if (appTabPanel.hasItem(panelID)) {
appTabPanel.scrollToTab(panel, true);
appTabPanel.activate(panelID);
} else {
if (!panel.isRendered()) {
panel.setTitle(title);
if (iconCls == null) {
iconCls = "plugins-nav-icon";
}
panel.setIconCls(iconCls);
}
appTabPanel.add(panel);
appTabPanel.activate(panel.getId());
}
History.newItem(screenName);
}
public TreePanel getTreeNav() {
treePanel = new TreePanel();
treePanel.setTitle("Tree View");
treePanel.setId("nav-tree");
treePanel.setWidth(180);
treePanel.setCollapsible(true);
treePanel.setAnimate(true);
treePanel.setEnableDD(false);
treePanel.setAutoScroll(true);
treePanel.setContainerScroll(true);
treePanel.setRootVisible(false);
treePanel.setBorder(false);
treePanel.setTopToolbar(getFilterToolbar());
TreeNode root = new TreeNode("Showcase Explorer");
treePanel.setRootNode(root);
TocPanel tocPanel = new TocPanel(this);
TreeNode tocNode = new TreeNode("Table of Contents");
tocNode.setIconCls("toc-icon");
tocNode.setId("toc");
root.appendChild(tocNode);
addNodeClickListener(tocNode, tocPanel, "toc-icon");
CreditsPanel creditsPanel = new CreditsPanel();
TreeNode creditsNode = new TreeNode("Credits");
creditsNode.setIconCls("credits-icon");
creditsNode.setId("credits");
root.appendChild(creditsNode);
addNodeClickListener(creditsNode, creditsPanel, "credits-icon");
Store store = getStore();
Record[] records = store.getRecords();
for (int i = 0; i < records.length; i++) {
Record record = records[i];
String id = record.getAsString("id");
final String category = record.getAsString("category");
String title = record.getAsString("title");
final String iconCls = record.getAsString("iconCls");
String thumbnail = record.getAsString("thumbnail");
String qtip = record.getAsString("qtip");
final ShowcasePanel panel = (ShowcasePanel) record.getAsObject("screen");
TreeNode node = new TreeNode(title);
node.setId(id);
if (iconCls != null) node.setIconCls(iconCls);
if (qtip != null) node.setTooltip(qtip);
if (category == null || category.equals("")) {
root.appendChild(node);
} else {
Node categoryNode = root.findChildBy(new NodeTraversalCallback() {
public boolean execute(Node node) {
return node.getId().equals(category);
}
});
if (categoryNode != null) {
categoryNode.appendChild(node);
}
}
addNodeClickListener(node, panel, iconCls);
}
TreeNode charts = new TreeNode("Charts Showcase", "bar-chart-icon");
charts.addListener(new TreeNodeListenerAdapter() {
public void onClick(Node node, EventObject e) {
com.google.gwt.user.client.Window.open("http://www.gwt-ext.com/demo-charts", "charts", "");
e.stopEvent();
}
});
root.appendChild(charts);
TreeNode maps = new TreeNode("Maps Showcase", "map-icon");
maps.addListener(new TreeNodeListenerAdapter() {
public void onClick(Node node, EventObject e) {
com.google.gwt.user.client.Window.open("http://www.gwt-ext.com/demo-maps", "maps", "");
e.stopEvent();
}
});
root.appendChild(maps);
TreeNode ux = new TreeNode("User Extensions Showcase", "credits-icon");
ux.addListener(new TreeNodeListenerAdapter() {
public void onClick(Node node, EventObject e) {
com.google.gwt.user.client.Window.open("http://www.gwt-ext.com/demo-ux", "user_extensions", "");
e.stopEvent();
}
});
root.appendChild(ux);
treeFilter = new TreeFilter(treePanel);
return treePanel;
}
private void onSearchChange(final boolean filteredOnly) {
final String filter = searchField.getText();
if (filter == null || filter.equals("")) {
treeFilter.clear();
treeFilter.filterBy(new TreeTraversalCallback() {
public boolean execute(TreeNode node) {
node.setText(Format.stripTags(node.getText()));
return true;
}
});
} else {
treeFilter.filterBy(new TreeTraversalCallback() {
public boolean execute(TreeNode node) {
String text = Format.stripTags(node.getText());
node.setText(text);
if (text.toLowerCase().indexOf(filter.toLowerCase()) != -1) {
node.setText("<b>" + text + "</b>");
((TreeNode) node.getParentNode()).expand();
return true;
} else {
final List childMatches = new ArrayList();
node.cascade(new NodeTraversalCallback() {
public boolean execute(com.gwtext.client.data.Node node) {
String childText = ((TreeNode) node).getText();
if (childText.toLowerCase().indexOf(filter.toLowerCase()) != -1) {
childMatches.add(new Object());
}
return true;
}
});
return !filteredOnly || childMatches.size() != 0;
}
}
});
}
}
private Toolbar getFilterToolbar() {
final Toolbar filterToolbar = new Toolbar();
ToolbarButton funnelButton = new ToolbarButton();
funnelButton.setTooltip("Tree filtering is currently OFF<br>Click to turn Tree filtering <b>ON</b>");
funnelButton.setCls("x-btn-icon filter-btn");
funnelButton.setEnableToggle(true);
funnelButton.addListener(new ButtonListenerAdapter() {
public void onToggle(Button button, boolean pressed) {
if (pressed) {
DOM.setStyleAttribute(button.getButtonElement(), "backgroundImage", "url(images/funnel_X.gif)");
button.setTooltip("Tree filtering is currently ON<br>Click to turn Tree filtering <b>OFF</b>");
onSearchChange(true);
} else {
DOM.setStyleAttribute(button.getButtonElement(), "backgroundImage", "url(images/funnel_plus.gif)");
button.setTooltip("Tree filtering is currently OFF<br>Click to turn Tree filtering <b>ON</b>");
treeFilter.clear();
onSearchChange(false);
}
}
});
filterToolbar.addButton(funnelButton);
searchField = new TextField();
searchField.setWidth(120);
searchField.setMaxLength(40);
searchField.setGrow(false);
searchField.setSelectOnFocus(true);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -