// **********************************************************************
//
// Copyright (c) 2003-2008 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
package IceGridGUI;
import java.util.prefs.Preferences;
import java.util.prefs.BackingStoreException;
import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Rectangle;
import java.awt.Container;
import java.awt.Component;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.File;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JComponent;
import javax.swing.JEditorPane;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JToggleButton;
import javax.swing.JToolBar;
import javax.swing.JTree;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.TransferHandler;
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileFilter;
import javax.swing.text.JTextComponent;
import com.jgoodies.looks.Options;
import com.jgoodies.looks.HeaderStyle;
import com.jgoodies.looks.BorderStyle;
import com.jgoodies.looks.plastic.PlasticLookAndFeel;
import IceGrid.*;
//
// This class coordinates the communications between the various objects
// that make up the IceGrid GUI.
// It also provides both the menu bar and tool bar.
//
public class Coordinator
{
private class StatusBarI extends JPanel implements StatusBar
{
StatusBarI()
{
super(new BorderLayout());
setBorder(new EmptyBorder(0, 13, 10, 13));
_text = new JLabel();
_text.setHorizontalAlignment(SwingConstants.LEFT);
add(_text, BorderLayout.LINE_START);
_connectedLabel = new JLabel("Working Offline");
_connectedLabel.setHorizontalAlignment(SwingConstants.RIGHT);
add(_connectedLabel, BorderLayout.LINE_END);
}
public void setText(String text)
{
_text.setText(text);
}
public void setConnected(boolean connected)
{
if(connected)
{
_connectedLabel.setText("Working Online");
}
else
{
_connectedLabel.setText("Working Offline");
}
}
JLabel _connectedLabel;
JLabel _text;
}
private class ActionWrapper extends AbstractAction implements java.beans.PropertyChangeListener
{
public ActionWrapper(String name)
{
super(name);
setEnabled(false);
}
public void actionPerformed(ActionEvent e)
{
if(_target != null)
{
_target.actionPerformed(e);
}
}
public void propertyChange(java.beans.PropertyChangeEvent e)
{
//
// The only property we're interested in is isEnabled
//
java.beans.PropertyChangeListener[] l = getPropertyChangeListeners();
for(int i = 0; i < l.length; ++i)
{
l[i].propertyChange(e);
}
}
void setTarget(Action t)
{
if(_target != t)
{
if(_target != null)
{
_target.removePropertyChangeListener(this);
}
_target = t;
if(_target != null)
{
_target.addPropertyChangeListener(this);
setEnabled(_target.isEnabled());
}
else
{
setEnabled(false);
}
}
}
Action getTarget()
{
return _target;
}
private Action _target;
}
private class DeleteTextAction extends AbstractAction
{
public DeleteTextAction(String name)
{
super(name);
}
public void actionPerformed(ActionEvent e)
{
if(_target != null)
{
Action a = _target.getActionMap().get("delete-next");
if(a != null)
{
a.actionPerformed(new ActionEvent(_target, ActionEvent.ACTION_PERFORMED, null));
}
}
}
void setTarget(JTextComponent t)
{
_target = t;
}
private JTextComponent _target;
}
private class FocusListener implements java.beans.PropertyChangeListener
{
public void propertyChange(java.beans.PropertyChangeEvent e)
{
Object o = e.getNewValue();
if(o == null)
{
unknownTarget();
}
else if(o instanceof JTextComponent)
{
enableTextEditActions((JTextComponent)o);
}
else if(o instanceof JTree)
{
JTree tree = (JTree)o;
if(tree.getModel().getRoot() instanceof IceGridGUI.Application.Root)
{
enableTreetEditActions();
}
else
{
disableAllEditMenusAndButtons();
}
}
else
{
unknownTarget();
}
}
private void unknownTarget()
{
if(_copy.getTarget() == _copyText)
{
disableAllEditMenusAndButtons();
}
//
// Otherwise (for good tree), do nothing.
//
}
private void disableAllEditMenusAndButtons()
{
_cut.setTarget(null);
_copy.setTarget(null);
_paste.setTarget(null);
_delete.setTarget(null);
_moveUp.setTarget(null);
_moveDown.setTarget(null);
}
private void enableTextEditActions(JTextComponent target)
{
boolean editable = target.isEditable() && target.isEnabled();
_cutText.setEnabled(editable);
_copyText.setEnabled(true);
_pasteText.setEnabled(editable);
_deleteText.setEnabled(editable);
_deleteText.setTarget(target);
if(_copy.getTarget() != _copyText)
{
_cut.setTarget(_cutText);
_copy.setTarget(_copyText);
_paste.setTarget(_pasteText);
_delete.setTarget(_deleteText);
_moveUp.setTarget(null);
_moveDown.setTarget(null);
}
}
private void enableTreetEditActions()
{
if(_copy.getTarget() != _appActionsForMenu.get(IceGridGUI.Application.TreeNode.COPY))
{
_cut.setTarget(null);
_copy.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.COPY));
_paste.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.PASTE));
_delete.setTarget(_appActionsForMenu.get(IceGridGUI.Application.TreeNode.DELETE));
_moveUp.setTarget(_appActionsForMenu.get(IceGri
没有合适的资源?快使用搜索试试~ 我知道了~
Ice-3.3.0.tar.gz
5星 · 超过95%的资源 需积分: 15 23 下载量 187 浏览量
2009-10-14
11:03:56
上传
评论 1
收藏 4.06MB GZ 举报
温馨提示
共2000个文件
cpp:679个
java:641个
ice:562个
Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice Ice
资源推荐
资源详情
资源评论
收起资源包目录
Ice-3.3.0.tar.gz (2000个子文件)
Gen.cpp 180KB
Gen.cpp 161KB
Gen.cpp 158KB
Parser.cpp 136KB
JavaUtil.cpp 124KB
Grammar.cpp 101KB
Grammar.cpp 100KB
DescriptorHelper.cpp 99KB
Types.cpp 78KB
Transformer.cpp 77KB
Proxy.cpp 73KB
ServerI.cpp 71KB
Gen.cpp 68KB
Operation.cpp 68KB
Main.cpp 65KB
ConnectionI.cpp 64KB
Marshal.cpp 61KB
AllTests.cpp 60KB
Parser.cpp 58KB
AllTests.cpp 57KB
Types.cpp 57KB
PythonUtil.cpp 56KB
Data.cpp 55KB
BasicStream.cpp 54KB
CsUtil.cpp 53KB
Proxy.cpp 52KB
CPlusPlusUtil.cpp 51KB
AllTests.cpp 51KB
DumpDescriptors.cpp 51KB
Scanner.cpp 50KB
Database.cpp 49KB
Reference.cpp 48KB
Scanner.cpp 47KB
RubyUtil.cpp 47KB
Service.cpp 47KB
AllTests.cpp 47KB
Main.cpp 46KB
MapI.cpp 45KB
ConnectionFactory.cpp 45KB
Network.cpp 44KB
RegistryI.cpp 43KB
Grammar.cpp 43KB
Proxy.cpp 43KB
BackgroundSaveEvictorI.cpp 42KB
Profile.cpp 42KB
Scanner.cpp 42KB
Scanner.cpp 42KB
TopicI.cpp 42KB
Scanner.cpp 41KB
Scanner.cpp 40KB
AllTests.cpp 40KB
Scanner.cpp 39KB
PropertyNames.cpp 39KB
Gen.cpp 39KB
TwowaysAMI.cpp 39KB
AllTests.cpp 39KB
ObjectAdapter.cpp 39KB
ObjectAdapterI.cpp 38KB
Util.cpp 37KB
Grammar.cpp 36KB
Scanner.cpp 36KB
Instance.cpp 36KB
Grammar.cpp 35KB
Proxy.cpp 35KB
Grammar.cpp 35KB
AllTests.cpp 34KB
Grammar.cpp 34KB
Communicator.cpp 33KB
Activator.cpp 33KB
NodeI.cpp 33KB
NodeI.cpp 33KB
AllTests.cpp 32KB
Instance.cpp 32KB
SessionRouterI.cpp 31KB
Options.cpp 31KB
AllTests.cpp 31KB
Grammar.cpp 31KB
TransformAnalyzer.cpp 29KB
ServiceManagerI.cpp 28KB
DescriptorParser.cpp 28KB
transformdb.cpp 28KB
NodeCache.cpp 27KB
AllTests.cpp 27KB
TransformVisitor.cpp 27KB
AllTests.cpp 27KB
ServerCache.cpp 26KB
ClientUtil.cpp 26KB
DescriptorBuilder.cpp 26KB
ServiceInstaller.cpp 26KB
Client.cpp 25KB
ProxyVerifier.cpp 25KB
DumpDB.cpp 25KB
AllTests.cpp 25KB
Client.cpp 25KB
AllTests.cpp 24KB
Topics.cpp 24KB
Util.cpp 24KB
ReferenceFactory.cpp 24KB
LocatorInfo.cpp 24KB
TopicManagerI.cpp 23KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- NEO99992013-11-26windows下安装成功,可以使用
- os_thinker2015-11-21是zeroc官网的东西,不知道为啥官网下载不下来。
- darkone2013-05-22linux下安装成功,可以使用
zhengabc
- 粉丝: 2
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 老飞飞搭建基础通用数据库V19数据库.rar
- jquery.js
- 机械设计多工位ACF贴胶带&预压设备sw18可编辑非常好的设计图纸100%好用.zip
- 基于Pytorch复现Point-Transformer,用于ShapeNet数据集点云分割
- 【医学影像分析】2D超声图像的分割检测(Ultrasound Nerve Segmentation - Kaggle数据集)
- 嘎嘎香的五款神仙谷歌插件
- .arch书源导入教程.mp4
- 贪心算法介绍及代码示例讲解
- CR13SP35MSI64 Crystal 水晶报表运行组件最后版本64位
- 图像分类数据集:玉米叶是否感染分类数据集(2分类,包含训练集、验证集)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功