item(:textfield, :width=>100, :height=>20, :tag=>"stepz", :value=>grid[6].to_s)))
}
if hash[:status] == 0
+ path = self.path || self.name
+ dir = self.dir || Dir.pwd
origin = Vector3D[hash["originx"], hash["originy"], hash["originz"]]
dx = hash["deltax"]
dy = hash["deltay"]
nx = hash["stepx"]
ny = hash["stepy"]
nz = hash["stepz"]
- basename = File.basename(self.path, ".*")
+ basename = File.basename(path, ".*")
filenames = []
+ mo_type = self.mo_type
mos.each { |n|
- fname = Dialog.save_panel("Cube file name for MO #{n}", self.dir, basename + "_#{n}.cube", "Gaussian cube file (*.cube)|*.cube")
- if !fname
- filenames.clear
- break
+ fname1 = fname2 = nil
+ alpha = (mo_type != "UHF" ? "" : "alpha ")
+ a = (mo_type != "UHF" ? "" : "a")
+ fname1 = Dialog.save_panel("Cube file name for #{alpha}MO #{n}", dir, basename + "_#{n}#{a}.cube", "Gaussian cube file (*.cube)|*.cube")
+ if (mo_type == "UHF")
+ fname2 = Dialog.save_panel("Cube file name for beta MO #{n}", dir, basename + "_#{n}b.cube", "Gaussian cube file (*.cube)|*.cube")
end
- filenames.push([n, fname])
+ filenames.push([n, fname1, fname2])
}
filenames.each { |pair|
n = pair[0]
- show_progress_panel("Creating cube file for MO #{n}...")
- cubegen(pair[1], n, origin, dx, dy, dz, nx, ny, nz, true)
+ alpha = (mo_type != "UHF" ? "" : "alpha ")
+ show_progress_panel("Creating cube file for #{alpha}MO #{n}...")
+ if pair[1]
+ cubegen(pair[1], n, origin, dx, dy, dz, nx, ny, nz, true)
+ end
+ if pair[2] && mo_type == "UHF"
+ set_progress_message("Creating cube file for beta MO #{n}...")
+ cubegen(pair[2], n, origin, dx, dy, dz, nx, ny, nz, true, true)
+ end
hide_progress_panel
}
end
item(:textview, :width=>280, :height=>80, :tag=>"list", :editable=>false),
nil,
[ item(:button, :title=>"Update",
- :action=>proc { |it|
+ :action=>lambda { |it|
list = Dialog.list_remote_files(value("host"), value("directory"))
set_value("list", list)
}
item(:textfield, :width=>280, :height=>20, :tag=>"local"),
nil,
[ item(:button, :title=>"Choose...",
- :action=>proc { |it|
+ :action=>lambda { |it|
dir = Dialog.open_panel(nil, nil, nil, true)
if dir
set_value("local", dir)
hash = Dialog.run("Show Graphite") {
layout(1,
item(:checkbox, :title=>"Show graphite", :tag=>"show_graphite", :value=>(flag ? 1 : 0),
- :action=>proc { |it| set_attr("graphite", :enabled=>(it[:value] == 1)) } ),
+ :action=>lambda { |it| set_attr("graphite", :enabled=>(it[:value] == 1)) } ),
item(:text, :title=>"Number of graphite rings for each direction:"),
item(:textfield, :width=>120, :tag=>"graphite", :value=>n.to_s, :enabled=>flag))
}
end
end
+ # DEBUG
+ def cmd_test
+ $test_dialog = Dialog.new("Test") { item(:text, :title=>"test"); show }
+ end
+
end
register_menu("Assign residue...", :cmd_assign_residue)
register_menu("", "")
register_menu("Delete Frames...", :cmd_delete_frames)
register_menu("Solvate...", :cmd_solvate)
+#register_menu("cmd test", :cmd_test)