浏览 2053 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-24
目前本人正在着手一个ext_gwt的项目,遇到一个问题,在此请假大家,希望得到大家的帮助,感谢!
以下注意: 1.是EXT-GWT,也就是说是这个JAR包com.extjs.gxt,切记。 2.是对树结构往其他地方的拖拽,而不是对图片文本之类的拖拽
以下提供部分代码: VtsTaskModel.java
package com.lingran.vts.client.model; import java.util.ArrayList; import java.util.List; import com.extjs.gxt.ui.client.data.BaseTreeModel; import com.extjs.gxt.ui.client.data.TreeModel; import com.lingran.vts.client.pages.OverviewPage; import com.lingran.vts.client.pages.Page; public class VtsTaskModel extends BaseTreeModel { private List<Entry> entries = new ArrayList<Entry>(); private Category createYearPlanEntries() { Category category = new Category("年计划"); category.add(new YearEntry ("Y2006", "2006年")); category.add(new YearEntry ("Y2007", "2007年")); category.add(new YearEntry ("Y2008", "2008年")); category.add(new YearEntry ("Y2009", "2009年")); category.add(new YearEntry ("Y2010", "2010年")); return category; } private Category createMonthPlanEntries() { Category category = new Category("月计划"); category.add(new MonthEntry ("M200806", "2008年06月")); category.add(new MonthEntry ("M200807", "2008年07月")); category.add(new MonthEntry ("M200808", "2008年08月")); return category; } private Category createWeekPlanEntries() { Category category = new Category("周计划"); category.add(new MonthEntry ("W20080701", "2008年07月,第一周")); category.add(new MonthEntry ("W20080702", "2008年07月,第二周")); category.add(new MonthEntry ("W20080703", "2008年07月,第三周")); return category; } private Category createDayPlanEntries() { Category category = new Category("日常计划"); Category week; week = new Category ("上一周"); category.add(week); week.add(new DayEntry ("D20080713", "2008年07月13日,星期一")); week.add(new DayEntry ("D20080714", "2008年07月14日,星期二")); week.add(new DayEntry ("D20080715", "2008年07月15日,星期三")); week.add(new DayEntry ("D20080716", "2008年07月16日,星期四")); week.add(new DayEntry ("D20080717", "2008年07月17日,星期五")); week.add(new DayEntry ("D20080718", "2008年07月18日,星期六")); week.add(new DayEntry ("D20080719", "2008年07月19日,星期天")); week = new Category ("本周"); category.add(week); week.add(new DayEntry ("D20080713", "2008年07月13日,星期一")); week.add(new DayEntry ("D20080714", "2008年07月14日,星期二")); week.add(new DayEntry ("D20080715", "2008年07月15日,星期三")); week.add(new DayEntry ("D20080716", "2008年07月16日,星期四")); week.add(new DayEntry ("D20080717", "2008年07月17日,星期五")); week.add(new DayEntry ("D20080718", "2008年07月18日,星期六")); week.add(new DayEntry ("D20080719", "2008年07月19日,星期天")); week = new Category ("下一周"); category.add(week); week.add(new DayEntry ("D20080713", "2008年07月13日,星期一")); week.add(new DayEntry ("D20080714", "2008年07月14日,星期二")); week.add(new DayEntry ("D20080715", "2008年07月15日,星期三")); week.add(new DayEntry ("D20080716", "2008年07月16日,星期四")); week.add(new DayEntry ("D20080717", "2008年07月17日,星期五")); week.add(new DayEntry ("D20080718", "2008年07月18日,星期六")); week.add(new DayEntry ("D20080719", "2008年07月19日,星期天")); return category; } private Category createProjectEntries () { Category category = new Category("项目计划"); return category; } private Category createTodayPersonTaskEntries () { Category category = new Category("今日派发任务"); return category; } public VtsTaskModel() { set("overview", new Entry("Overview")); // Period plan tree content Category periodPlans = new Category("周期计划"); periodPlans.add(createYearPlanEntries()); periodPlans.add(createMonthPlanEntries()); periodPlans.add(createWeekPlanEntries()); periodPlans.add(createDayPlanEntries()); add(periodPlans); // Project tree content add(createProjectEntries ()); // Tody person tasks add(createTodayPersonTaskEntries ()); loadEntries(this); } public Entry findEntry(String name) { if (get(name) != null) { return (Entry) get(name); } for (Entry entry : getEntries()) { if (name.equals(entry.getId())) { return entry; } } return null; } public List<Entry> getEntries() { return entries; } private void loadEntries(TreeModel<TreeModel> model) { for (TreeModel child : model.getChildren()) { if (child instanceof Entry) { entries.add((Entry) child); } else if (child instanceof Category) { loadEntries(child); } } } }
ContentView.java package com.lingran.vts.client.mvc; import com.extjs.gxt.ui.client.Events; import com.extjs.gxt.ui.client.Registry; import com.extjs.gxt.ui.client.Style.LayoutRegion; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.TabPanelEvent; import com.extjs.gxt.ui.client.mvc.AppEvent; import com.extjs.gxt.ui.client.mvc.Controller; import com.extjs.gxt.ui.client.mvc.Dispatcher; import com.extjs.gxt.ui.client.mvc.View; import com.extjs.gxt.ui.client.util.Margins; import com.extjs.gxt.ui.client.widget.ContentPanel; import com.extjs.gxt.ui.client.widget.TabItem; import com.extjs.gxt.ui.client.widget.TabPanel; import com.extjs.gxt.ui.client.widget.layout.BorderLayout; import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; import com.lingran.vts.client.AppEvents; import com.lingran.vts.client.model.Entry; import com.lingran.vts.client.pages.Page; public class ContentView extends View { private TabPanel tabPanel; private Page current; public ContentView(Controller controller) { super(controller); } public void initialize() { tabPanel = new TabPanel(); tabPanel.setBorderStyle(false); tabPanel.setBodyBorder(false); tabPanel.setTabScroll(true); tabPanel.setAnimScroll(true); /* tabPanel.addListener(Events.Remove, new Listener<TabPanelEvent>() { public void handleEvent(TabPanelEvent be) { TabItem item = be.item; Entry entry = (Entry)item.getModel(); Dispatcher.forwardEvent(AppEvents.HidePage, entry); } }); */ /* * tabPanel.addListener(Events.BeforeSelect, new Listener<TabPanelEvent>() { * public void handleEvent(TabPanelEvent be) { Entry entry = * (Entry)be.item.getData("entry"); if (entry.getPage() != current) { * be.doit = false; VtsTask.showPage(entry); } } }); */ ContentPanel center = (ContentPanel) Registry.get("centerPanel"); center.setLayout(new BorderLayout()); //ContentPanel north = new ContentPanel(); ContentPanel west = new ContentPanel(); ContentPanel east = new ContentPanel(); ContentPanel south = new ContentPanel(); BorderLayoutData westData = new BorderLayoutData(LayoutRegion.WEST, 300); westData.setSplit(true); westData.setCollapsible(true); westData.setMargins(new Margins(5)); BorderLayoutData eastData = new BorderLayoutData(LayoutRegion.CENTER); eastData.setMargins(new Margins(5, 0, 5, 0)); BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH, 200); southData.setSplit(true); southData.setCollapsible(true); southData.setFloatable(true); southData.setMargins(new Margins(0, 5, 5, 5)); center.add(west, westData); center.add(east, eastData); center.add(south, southData); center.add(tabPanel); } protected void handleEvent(AppEvent event) { /* * switch (event.type) { case AppEvents.ShowPage: Entry entry = (Entry) * event.data; onShowPage(entry); break; case AppEvents.HidePage: current = * null; break; } */ } }
下面是部分图片: 1.png(拖拽的图片)
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |