Each has benefits. For example #3 is useful if you want to simultaneously select sub-shapes inside multiple cells, say to run some action. But #3 is also dangerous. 1 and 3 are my personal favorites,
0x00002aaab29abf75 in __smokeqtgui::xcall_QApplication(short, void*, Smoke::StackItem*) () from /usr/pack/qt4-qtruby-2.2.0-di/x86_64-Linux-2.6/lib/libsmokeqtgui.so.3#4 0x00002aaab42e7d3b in smokeru