예제 #1
0
func (s *FilesTreeStore) AddToplevel(obj tr.ToplevelTreeElementIf) (newId string, err error) {
	cursor := s.Append(rootCursor)
	obj.AddToTree(s, cursor)
	newId = cursor.Path
	log.Printf("FilesTreeStore.AddToplevel: newId=%s\n", newId)
	return
}
예제 #2
0
파일: menufile.go 프로젝트: axel-freesp/sge
func fileNewMap(fts *models.FilesTreeStore, ftv *views.FilesTreeView) {
	var sgname, pfname string
	var ok bool
	sgname, ok = runFileDialog([]FileType{FileTypeGraph}, false, "Choose Signal Graph")
	if !ok {
		return
	}
	pfname, ok = runFileDialog([]FileType{FileTypePlat}, false, "Choose Platform")
	if !ok {
		return
	}
	var f tr.ToplevelTreeElementIf
	var err error
	prefix, fname := dirMgr.FilenameToShow(sgname)
	f, err = global.SignalGraphMgr().Access(fname)
	if err != nil {
		log.Printf("fileNewMap: %s\n", err)
		return
	}
	f.SetPathPrefix(prefix)
	global.MappingMgr().SetGraphForNew(f.(bh.SignalGraphIf))
	prefix, fname = dirMgr.FilenameToShow(pfname)
	f, err = global.PlatformMgr().Access(fname)
	if err != nil {
		log.Printf("fileNewMap: %s\n", err)
		return
	}
	f.SetPathPrefix(prefix)
	global.MappingMgr().SetPlatformForNew(f.(pf.PlatformIf))
	_, err = global.MappingMgr().New()
	if err != nil {
		log.Printf("fileNewMap: %s\n", err)
		return
	}
}
예제 #3
0
파일: menufile.go 프로젝트: axel-freesp/sge
func fileOpen(fts *models.FilesTreeStore, ftv *views.FilesTreeView) {
	log.Println("fileOpen")
	filename, ok := getFilenameToOpen()
	if !ok {
		return
	}
	prefix, fname := dirMgr.FilenameToShow(filename)
	var err error
	var obj tr.ToplevelTreeElementIf
	var fileMgr mod.FileManagerIf
	fileMgr, err = getFileMgr(FileType(tool.Suffix(fname)))
	obj, err = fileMgr.Access(fname)
	if err != nil {
		log.Printf("fileOpen error: %s\n", err)
		return
	}
	obj.SetPathPrefix(prefix)
	dirMgr.SetCurrent(fileType(obj), tool.Dirname(fname))
}