
2008ǯ1122
ץȸƤӽФΥ󥿥ե
̾١Τߤˤ뢫ץJS, QSʤɤ
ץ饤֥ߤ롣
ͳJS(XPCOM)θƤӽФͳ٤ɬܤǤϤʤ
ͳ٤ˤƼδͥ褹롣

ץȤΥ󥿥եϷײ̤
ץȤGUIۤΤΤߤ˻Ѥ롣
ץȤΥ󥿥եɬ׺¤ĥΤΤѹ롣

ץȤ󶡤륵ӥ

XPCOM Wrapper object(xpcw)εǽ
xpcwCueMol Wraper object (qmw, XXX_wrapper)ؤλȤݻ
(javascriptwrapperqmwؤλȤݻΤƱ)
᥽å̾ʸǻꤷơobjectΥ᥽åɤƤӽФǽ(invoke)
ץѥƥ˥뵡ǽ(getProp,setProp,hasProp,enumProps,enumPropTypes)

e.g.ե򳫤
Reader factory object(in wrapper)
Reader object x(in wrapper)
x˿Ľcallback(٥ȥޥ͡㻲)
x˥ǡ(local file/stream manager)
xˤǤ륪֥̾/ID̾orID
x¾Υץ(Ϣ/JSON)
¹Ԥλ

e.g. ʬҥαå˥塼
Mol objectʥӥ
٥ȥޥ͡ͳơcallbackꡣ
åcallbackƤФɬץǡϢäϤ
ݥåץåץ˥塼ɽ
˥塼μ¹ԡxpcwͳ
׸ƤnpruntimeͳthreadľXPCOM¦¹ԤmenuɽꤷƤפʤΤˤäƤthread marshalingɬפ

ΨŪϢΥ
/hash getJSONǼǤϰϤ˸ꤹˡ̤/hashϼʤ

Service(singleton)ƤӽФӥ
᥽å̾ꢪƤӽФ
ֵͤν

٥ȥޥ͡
XPCOM֥ȤؤλȤݻꤵ줿᥽åɤcallbackǤ褦ˡ
callbackϡ٥ȯ¦threadˤľܸƤӽФ륱äȤñ
EventlistenƤthread̤ˤäơthreadcallback¹Ԥ롢
Ȥɬפ⤷ʤXUL¦multithreadɬפˤʤäƤ롩)
1.9.1Ϥ顩cycle collectorбƤʤassertion˼Ԥ
cycle collectorϴطʤäLScrCallback objScript Listener objrelease
餺qICallback::Release()ƤФƤʤäǡǸGCʳǤ
qICallbackʤҤƤJS objectˤؤλȤĤäޤޤˤʤäƤ
qICallback::Release()ƤФ褦ˤв褷
ĤǤXPCCueMoldtorƤФ褦ˤʤä2009/8/11

ȥ꡼ޥ͡
CueMol¦gecko,XPCOMäĤġ
httpʤɤURIhandling뤿ɬס
CueMol¦ñʤLStream֥ȤȤƥǽ
network socketʤɤ󶡤Ǥ褦ˤ롣
(data pullinterface˸ǼThreadɬפˤʤäƤ뤫⤷ʤ)
data pushinterfaceθơReader/Writer¦ʤۤ
ñ⤷ʤ

----------
2008/11/25

ץι --- XPCOM
xpcqm.dll (or xpccuemol.dll)
  cuemol application (qICueMol/XPCCueMol) εưinit()٤Ƥνinitialization
  cuemol application (qICueMol/XPCCueMol) νλfini()٤Ƥνλfinalization
  ¾Υӥ
    SingletonƤӽФӥ, getScene(), getObject()ʤ

1. XPCCueMol::init()ɬϤ˸ƤФ(external JS)
2. XULˤ롢ViewѤplugin(ʣ)
3. pluginMolViewattach(external JS)

XPCOMå
XPCOMФObjWrapperǤͤȤϴŪ
nsIVariant
ͳǹԤʤФʤʤ
nsIVariantfrozen interfaceǤʤ餷Ȥ虜ʤ

invokeΰϤˤarrayѤȤ
XPCOMarrayʣΤǤηޤäƤꡢͤΥۥ⡦إƥˤʬʤФʤʤ
invoke0, invoke2ʤɰοˤ᥽åɤäƤ٤бǽʤ®


󵭽ҤXMLˤĤ
ȥӥ塼ȤXMLʤΤǡʤޤ
ȥӥ塼Ȥˤϡޥ͡ʤɤIDλȤꤹ롣
ޥ͡ʤɤʤϡȥӥ塼ȤǤʤҥȤη(XMLǵҤǤ)
褯ȤҤˤĤƤϡȼεҤ(ʬʤ)  Parserɬ
: rgb(n,n,n), rgba(n,n,n,n), #NNNNNN (HTMLεˡ), hsb(n,n,n), hsba(n,n,n,n); nϼ¿, N16ʿ
ʬ: A.100:200.CA, name ASN and !elem H  (С1.1Ʊ)

<prop name="carbon_color">
  <object type="color">
    <prop name="ambient" value="#NNNNNN"/>
    <prop name="specular" value="#NNNNNN"/>
    <prop name="diffuse" value="#NNNNNN"/>
    <prop name="povray"/>
      <!-- CDATA/definition used in povray rendering -->
    </prop>
  </object>
</prop>

㤨СpovrayѤιܤˤĤƤϡCDATAʸľϤ褦ˤ롣
ʤɤˤɤΤ褦Ϥ뤫ϡβ
ˤ
solid
gradient
ͤ롣

----------
2008/11/26

mcwrapgen3
1/8ǤͤȡʲλϴְäƤ뤫wrapperinstanceȴ㤤Ƥ
ObjectSmartPtrWrapperSmartPtrʤʤ
ץѥƥImmediateѢImmediatewrapWrappergetter
WrapperȤäԤWrapperΥInvalidCastWrapperSmartPtrcast褦Ȥ뤫

QIFեΥץѥƥǵҤ뷿ϡºݤobjectƤ뷿Τ餻ΤȤ롥
getter֤ͤηꤷƤ櫓ǤϤʤgetter֤ͤηϡobjectQIFեΤѤʤ
ץѥƥQIFۤʤϡgetter/setterǷѴԤɤ褦ˤ롥

ºݤˤQIFImmediateξϤʤΤǡ
(Ptr/SPtr)<-->(Immed/Ptr/SPtr)ѴΥΤߤȤʤ롣
гѡƱѴˤϼѤߡ
̤SPtr<-->ImmedѴΤߤȹͤΤ߼롣

ΤPtr<-->ImmedɬפˤʤäƤ뤫⤷ʤ
Ptr<-->SPtr(뤤Ϥε)Ϥޤɬʤ

----------
2008/12/16
Win32μ
UNIX/XμƱ٥ޤǤϴλ

2009/1/6
DisplayList
DisplayList, View, Renderer, Object, Scenecleanup꤬ꡤ˽λǤʤ
DisplayList: бSceneView̵ʤä̵
ǸViewʤʤľˡScenecleanup褦ˤ롥
--> unloading() ȤΤäб

2009/1/8
mcwrapgen3(Ѥ)
smartptrˤץѥƥʤɡpolymorphism򰷤ʤʤäƤޤäƤ롥
thisϾsmartptrˤʤФʤʤ
typelib/XPCOMѤμ˴wrapperinstanceʤ
pthisϾ̾ݥ󥿡ˤʤ褦ˤ
qifǤsmartptṛʤ褦ˤʤäƤޤä

ʤɤˤĤƤ⡤
Ūˡqifǻꤷݥ󥿥פѴ褦ʥɤ
ʡǤˢpointerѴ
ʡǤˢsmartptrѴ
ԤLScriptable::isSmartPtr()ȽǤcast褦ˤ롥
ξǡpointer->smartptrѴ㴳꤬ǽͭꡥ

----------
2009/2/25
Atom, Bond, Resid iteratorб
Simple, trace rendererscoloringб
Compatible renderersenumerationʢdialog

----------
2009/3/26

OSX/AGLμʰ

μѹ
٥ȡܥե룱ķ˸ꤹ
GUIǤΥɽϥ٥Ȥª

٥Ȥμ
ŪCallback objectLScrCallBackѤ

Script wrapperɬפʼ
ؿ֥ȤLScrCallBack interfacecallback object(XXCallBack)
wrapperǰ˴ؿ֥ȤϤ줿ˡXXCallBackѴ褦ʥɤ
XXCallBack::invoke()򡢴ؿ֥ȤƤӽФ褦˼롣

ScriptѲǽʥ٥Ȥμ
٥ȯμQIFaddListener/removeListenerޤ
Scriptproxy listenerμLScrCallBack*ݻLScrCallBack::invokeƤӽФ

Script٥ȤκremoveListenerˤ롦ID֤ǤȤäunregister褦ˤ

----------
2009/3/31

٥Ȥͽ

SceneCreated/Loaded

SceneDestroyed
˴
ޤ̵

SceneChanged
objectѲ(objectΤѲϴޤޤʤ)
- ObjectCreated(Loaded?)
- ObjectDestroyed
* PropertyChanged
scene̾ѹʤ

rendererѲ(rendererΤѲϴޤޤʤ)
- RendererCreated(Loaded?)
- RendererDestroyed

viewѲ(viewΤѲϴޤޤʤ)
- ViewCreated
- ViewDestroyed

ObjectChanged
* PropertyChanged(¿¿)
object̾ѹʤ

RendererChanged

ViewChanged

ϥǥХ
InDevEvent
mouselow level event

٥object
ScriptΤȤͤȡevent objectexception objΤ褦饹˱ʬˤƤޤscriptΥˤʤ롣Υ饹бscriptable objʤФʤʤݡ
IDˤʬࡢŪmonolithicʼˤ롣
scriptǤΥ٥callbackϡϲĹˤeventˤäưۤʤ褦˽褦ˡ

ץѥƥȥ٥Ȥ
obj.get("prop1").get("prop2").get("prop3").set("prop4", value);
ȤobjץѥƥѹƤޤȡobjѹΤ뤹٤ʤʤ뤤Ϻˡ


Object, Rendererproperty˴ؤƤϡ
obj.get("prop1.prop2.prop3.prop4", value)
ȤդˡtoplevelǤȤޤȤƥ褦ˤtoplevelget/set
٥ȽԤ褦ˤ


javascript顤obj.prop1.prop2.prop3.prop4 = valueȤ
Ǥʤʤ롥

 ߼
ץѥƥΤˤɤobjectˤ뤫ξݻ
ʼ

----------
2009/4/4
٥Ȥμʥץѥƥ
嵭ƤʤۤɺǤϤʤ

Ȥ⤫wrappersetterλˡdispatch interfaceǡ
LPropContainer::nodePropChgImpl(...)ƤӽФ褦ˡ
ʢdirect interfaceϥ٥ȤʤȤʤΤOK

LPropContainerϡm_rootuid(root prop containerؤλID), m_thisname(root prop containerˤ뼫ȤΥץѥƥ̾)ݻ뤳Ȥˤ롣

LPropContainer::nodePropChgImplroot prop containerؤλȹ
firePropChanged(...)ƤӽФ

root prop containerؤλȹϡꤵ줿propertyͤLPropContainerǤäˡȤm_rootuidm_thisnameѤơm_rootuidm_thisname񤭴롣

 夤ȤΤUID
LUIDObject󥿥ե륯饹ϡObjectManagerctorϿdtorǺԤ
UIDobject򻲾ȤǤ롣dtorƤФƺƤNULL֤Τ˴줿pointer򻲾ȤƤޤʤ

Scene, Viewdirty flagμ
Renderer/ObjectScene˴ޤޤȹͤ롣

----------
2009/4/19

EventȯˤäƤmain threadȯǽäworker thrΤϤlog
EventManagerĤꡤmain threadȯeventpendingˤ뢪main threadpoolingˤeventȯ
main threadˤٱdelegation

----------
2009/5/2

ޥꥤ٥ȤμץȲ
Hittest(point)
Toolboxprototype
windowsΤߡmouse cursorǤ褦

 InDevEventץȲǽΰյ
ޥǤxulΥ٥ǲǽˤʤ
ToolΤ褦GUIxul٥Ǽˤɬפʼ

 TO DO 
 Renderer/Objectproperty changeScenedirty flag򤿤Ƥ롣(event handler??)

λ
Selection rendererμѲؤб
ޥåʤɤˤ(09/08/30)
10/1/24ȿǤεѹ

----------
2009/5/17

 Serialization/deserialization
Output
DATA --> LDOM --> stream
Input
stream --> LDOM --> DATA
ȤˤLDOMɽ
propertyȷ̤ʥǡƤεɤ߽񤭤롥
礭ǡObjectcontentsdatachunk¤ȤäƱstreamޤ롥

 TO DO 
 Document baseΰsrcfull path̵ϡscene fileեФˤʤ褦ˤ롥
ТФѴʤ褦ˤ롥

λʡ
Serialization/deserializationchunk handlingʬΥ롥
SceneWriter/ReaderȤơSceneͭchunk handling롥
Serialization/deserializationsceneʳ㤨ХǤľ󲽤ˤȤ褦ˤ롥
readFrom2(), writeTo2()DATA <--> LDOMѴǤ
chunkϰäƤʤΤǡǤľ󲽤˻ȤϤ

λʡ
DATA <--> LDOMLDOM <--> streamʬΥСǤľ󲽤
streamͳɬפʤʤ롥DATA --> LDOM --> DATA2



----------
2009/8/4

UndoManagerμ

 firePropChanged()Ǥϡlistenerpropchanged eventbroadcast롣
renderer, objectϼpropchg eventctorlisten褦ˤ롥
child node eventǤϡtoplevel nodeˤevent¤롥
ɬפʥפeventΤ߼뤿Υե륿ɬפ
ʳƥϥɥ顼ifʸǥåƱȤϽΤǡ
ʳǥե륿Τñ˥ѥեޥ󥹤
ºݥѥեޥ󥹤뤫
ƱͤʤȤϡmouse eventǤɬפ
̤ϤȤ⤫ñʼŻ뤷broadcastΤߤˤ롥ʤѥեޥǤϤʤ

Propertyedit info¸ϡpropchg event handlerǹԤȤˤ롥
ɬsuperclass˥٥Ȥ¤褦
_super_t::propChanged(event);
ɤ񤫤ʤedit infoϿʤ

XPCOM֤ǤunicodeѴ

λ򲿤Ȥ
xpcom˴ؤƤϡwrapperƴƻ뤹롥ʻwrapperĢݻ
Ǹcuemol2򥷥åȥ󤹤Ȥˤϡ
wrapperȤƤΤɤäƤޤΤǡ
äƤλȤNULL˺ꤹ
λxpcomGC()äƤ⡤⤦cuemol2򻲾ȤƤʤΤ
wrapper(Τ̤)ΤߤǤ롥

----------
2009/8/9

λ
text drawingμthebes APIѤcross plathomeˤ롣
win, osxưǧ

xulrunnermozilla 1.9.1Ϥ˰ܹ

Ѥߡmozilla 1.9.1Ϥˤȡcycle collectorϢΥ꡼꤬ȯ

----------
2009/8/9

ScriptؤcallbackϢΥԤ褦˽

2009/8/13
valgrindѤ꡼ΥǥХå

stylesheetϢΤμײ
default flagμ(root objΤ?)
getDefaultValueμ(ͤQIFեǤε)
serializationν
EventμȡUndoμ

stylesheetϢΤμײ(2009/11/23)
style sheet repositryμ
style sheet objectΤμ
rendererλȵμ(loadsheet/unloadsheet)
style sheetΤѹrendererupdateʢʬʤ

mcwrapgen3ˤEnumץѥƥμɬסʺѤߡ
getTypeNamesǤenumǤ֤
getEnumValues(enum̾)ǡɤIDΤĴ٤褦
enumϡQIF class褦ˤ
enumvariantǤʸȤݻUIʸǰ
(9/8/23)

----------
2009/8/14

matrix, vectorΥ饹ˤĤơѤȥץȤ饢Ǥ볰Ѥʬ롥

2009/8/15
ScriptableϢΥ饹ؤѹ
smartptr wrappereventμʤ褦ˡ
property eventȯroot object UIDݻwrapper codeʬΥ
default valueμ


ͭvariantɬסbOwnedե饰ˤϤ᤿ɤ
TransientVariantOwnedVariantɬס
ŪOwnedˤ褦ˤ(9/8/23)


----------
2009/8/23

Enumμ

mcwgenޤdirect󥿥ե

LVariantμѹŪ˽ͭ褦ˤ
ˤäObject, RendererľLVariantϤ褦ʥɤ
¸ߤƤ뤿ᡢObject, RendererΥԡƤʤ롣
ädeserializationΥɤǡobjectʤ롣

ɬפʤ
Object, RendererϺSimpleCopyViewƱNoCopyˤ٤
deserializationObject, Rendererdefault ctorľܸƤӽФǺ뤬
ärendererfactoryͳǺ褦ˤɤ
8/30, Scene, ObjectнѤ

ʲ
嵭˴ϢơcompositeobjectstringdeserializeȤˡgetpropobjФ
fromString()ƤӽФƤޤäƤ뤬ȡоݤdefaultͤä
default objectͤ񤭴äƤޤȤ꤬롣
fromStringS()Ȥstring->object static method (ctor)
createObj()ʸϤС
instance methodfromString()ѻߤ

----------
2009/8/29

Serialization/DeserializationLDom2TreeκƼ
LDom2TreeLDomTreerefactoringС
Treeؤ֤
object<-->treeSer/DeserializationstreamtreeXML˽񤭽Фˤ

wrapperǤΡnativevariant֤ѴLWrapperImpl˰ܤ
äˡʸvariantnativeѴˡnative objectåȤξˡ
Type::fromStringS()ƤФ褦ˤʤäƤ롣Color#FFFFFFͤǽˤʤ

ȯФХ
Sceneʽλʳˡ˺ơץλȡCycleCollectorassertion˼Ԥ롣
ɤǥʤäƤǽ롣

褷Х
chain _ǧʤsimpleǲ󥰤ʤ
MolAtomRenderer::render()ˤơbonded/nonbondedȽǤäᡣ
̤chain _ä櫓ǤϤʤä

2009/9/5λintensivetestɬ
resetProperty()ʤȡsetProperty()ˤǡdefault flagθundo/redo򤹤

----------
2009/9/5

PDB, MolCoordϢalternative conformationǧ褦ˤ
äȸΨŪʼˤۤɤư

SelCommandtoString()SelNodes鹽ۤΤǤϤʤ
compileʸ򤽤Τޤ֤褦ˤ

λ
selectionǡaround, byresμ

----------
2009/9/21

λ
TraceRendererhitTest()ȡǤޤʤ褦

TopoDBǡcuemol1ǤϤäalias

TopoDBǡcuemol1ǤϤästatic residue property

----------
2009/9/23

λBallStickRenderer
λAnIsoURenderer
λCPKRenderer

SplineCoeffSetʤɡǡsegment iteration codeMainChainRenderer
֤äƤΤǡ̤ˤ
ʢselection˴طʤΤsegmentɬפΤMainChainRenderer
ѤϤǤʤ

λ
SplineCoeffSpline֤޲ѿt˻ĴֹѤƤ뤬
insertion codeˤʤΤǡ
ĴֹȤϴطʤñĴäѤɬפ롣
ResidIndex --> tΥơ֥뤬ɬפȤʤ

----------
2009/9/27

λ
selectionǡaltconfǤ褦 (name CG and alt B ʤ)
selectionǡ̾˴ؤnullεҤƳalt null,AǼפconformation٤롥(chain̤)
selectionǡhierarchical (A,B.1:100.C,N,O,CA)andǤʤȼΥΡɤȤƼ
A.123.CG:AϡޤʤȻפΤǡα
selectionǡaliasơѤǤ褦ˡ
aliasϡƥΤΤȡƥΤʬ褦ˤ롥(StyleMgrStrDataȤƼ̾դѥåȿƱ)
ಽǽʷǡproteinhydrogenȤɽǽˤʤ롥
aliasresolveϡselectionɾˤԤʤcompileidentifierȤOKʤ饨顼ϤǤʤ
colorȰ㤤scope contextȯʤʾapplyobj(->scene)ʬΤǡ

λ
_ɽơchainnullǤ褦ˤ٤
Ūˤ_ˤʤäƤ뤬null ('')ǤǤ褦ˤ

λ
selectionǡexpand (around + 켫ȤޤС)

TO DO
selectionǡneighbor (bondtopologyŪ1ʳãǤϰ)

----------
2009/10/03

Tubeμ̤

panelOverlayˤơvisible dataparent index礭ä
̤Ȥ getParentIndex֤ͤʤäơ
̵¥롼פˤʤե꡼ʤʤLinuxΤߤ
ͤˤʤ褦˽ʲ
Linuxǥĥ꡼ܥåΥƥȥ˥塼ͳƥɽˡ
ĥ꡼γĤԤȥե꡼ʷ빽̿Ū

----------
2009/11/02

λ
Tubeμåס̤

getPropJSON,enumб

ǡNested propertyѹEvent򡢥ȥåץ٥ʥ顼ˤٽᤷinvalidateƤӽФʴ


tubesectionΤ褦ˡʣץѥƥľϡưsetupParentDatactorǸƤӽФƤɬפ롣

ǥեͤĥץѥƥޤ४֥Ȥϡ¾Υ֥ȤΥǥեͤȤdefault=˵Ҥ뤳ȤϽʤ̤ξ֤ǤΥ֥ȤctorƤФƤޤ
㤨СTubeRendererTubeSectionǥեͤȤqif˵Ҥ뤳ȤϽʤʤ͡

λ ()
XMLؤserializationˤơobjectη̾type°ǻꤷƤ뤬ץѥƥtypeȤΤäͤץѥƥǤʤʤ롣
ǰŪˤϡץѥƥtypeϡobjectηϸǤ褤ȦtypeץѥƥꤷƤȹͤˡ
deserializizationǤϥɤǻꤵ줿Υ֥ȤƤ褦ˤ¿ʬctorǹԤƤȦˡ
񤭽Ф˴ؤƤϰɤ߹ߤȹʤǥХåɬ

Ѥ
coloringobject(mol)򻲾ȤɬפΤǡcoloringobjectؤattach/detach
ߤɤobjectФƻѤƤ뤫狼褦ˤɬפ롣
init()

󼡹¤׻
饸ȿ
FancyColoring (sel->col list)
Tubeǻ


----------
2009/11/07

λ
TubeμRibbonμʰλ
PaintColoring

orĴ(MolResidue/MolAtom)-->ͥޥåԥobjectcoloring schemeοǡ˺
ΤȤScripting󥿥եϤʤ

JctTableproperty

λʡ
ƥʥץѥƥreadonlyˤƤ⡤ޤޤƤץѥƥѹƤ饷ꥢ饤褦ˡ
֥ΡɤreadonlyǤⲼ̥Ρɤwritableϡѹå
񤭽Ф˴ؤƤϰɤ߹ߤȹʤǥХåɬ

λ(11/15)
PaintColoringserialization/deserialization

Ѥ
DefaultμǡƥʥץѥƥΥץѥƥΥǥեͤϡ
ΥƥʤȤ륱ХѤä٤Ǥ뤬
(㤨TubeSectiontuberͤTubeRibbonǰۤʤ)ߤμǤϤ줬̵Ǥ롣
Default styleȤͤǡ˱ͤǤΤǡɤΤǤϤʤ

----------
2009/11/15
ѹ
propertyϡLScrObjBaseǰΤǤϤʤ곰¦Υ󥿥եscripting interfaceǽơ
set/get propertyʤɤι٥륤󥿥եǤɥåɽΥץѥƥ̾ϤʤȤݾڤ롥
ǤդʬhandlingԤ褦ˡNestedPropHandlerȤ饹äƺѤ褦ˤ
js/spidermonkyǤϥɥåɽΥץѥƥ̾ϻȤʤΤjs󥿥եhandleNestedPropס

Ѥ
TubeǡselectionƤʤ (¿ʬribbon)

----------
2009/11/23

ץѥƥθǤμ
* Set
setProperty()
եȥ, main LScrObject
ǥեͥե饰δե饰ǥեȾ֤ˤ
ץѥƥѹΥ٥Ȥȯ
setPropertyImpl()ƤӽФ

setPropertyImpl()
Middle-end,  ƥ饹˥ޥMC_PROP_IMPL2ǡ
mcwgen3ˤ줿ɤǹԤ
ñqlib::LWrapperImpl::setPropHelper<WRAPPER>()ƤӽФ

---
ʲinterfaceȹͤ

qlib::LWrapperImpl::setPropHelper<_Wrapper>()
Backend
FuncMap::setProp() BackendƤӽФFuncMapwrapperΥѡ饹
this->setupParentData()ƤӽФm_thisname, m_rootuidΰݻԤ

FuncMap::setProp()
BackendresetPropȤζʬ
funcmapбfunc tuple򸡺
LVarArgsκ(˴)
func tupleϿƤؿμ¹
ϿƤΤmcwgen3ˤä줿setter set_[X]

set_[X]()
Backend
mcwgen3ˤäƼư줿staticsetterؿ

==========
* Reset (default᤹ͤ
resetProperty() 
եȥ, 桼API٥Υ󥿥եLScrObjBaseǼ
˥ǥեȾ֤ξϲ⤷ʤ
ǥեȾ֤ξϡresetPropertyImpl()ƤӽФ
٥Ȥȯ

style sheetϡΥ٥styleͤdefaultȤư褦ˤ

resetPropertyImpl()
Middle-end, ץ٥API, MC_PROP_IMPL2()ޥǳƥ饹ˤƼƤ
ñLWrapperImpl::resetProp<CLASSNAME>()ƤӽФʿΥǥեѤμ

---
ʲinterfaceȹͤ

LWrapperImpl::resetProp<CLASSNAME>()
Υ٥δؿϿΥǥեͤòǡstyle sheetawareǤɬפϤʤ
FuncMap::hasWProp()̵äfalse
FuncMap::getDefVal()ǥǥեͼ̵äfalse
FuncMap::setProp()ǥǥեͤ˽᤹
parent dataĴԤ

==========

resetAllProps()μinterfaceȤäȼ˼ƤΤɤʤΤǤϡ
ctorǤȤ⤫ǥեͤꤹ뤿ͤȹͤơ
ΤޤޤǹԤȤˡ
APIꥻåȤɬפʾenumerationresetProp()Ȥ߹碌Ф褤Τǡ
resetAllProps()ɬפ˸ƤФʤ褦˲餫н褬ɬ

륷Ȥμ
LeafץѥƥˤĤƤΥ륷ȼҤޤơˤϰλ
StyleSheet classμ(륷Ȥμ)
StyleSupports interfaceμޤΤȤRendererΤߤݡȤ
applyStyles()μᥤ
StyleScrObjectμ
resetProperty()μᥤ

RendererΥˤĤserializationưǧ

Nodeץѥƥ(coloringʤ)μ
LDom2Node饤󥹥󥹤ꤹɬפ

StyleѹˤĤƤΥ٥(applyStylesȯ)ޤ

StyleˤĤƤUndo/Redo(applyStylesȯ)ޤ
styleGUIȤǤ褤

StyleΤԽѹˤĤƤeventʤɤ̤
styleԽGUIȤǤ褤ʱ

==========

2009/12
renderingscene񤭽Фμ
POV-Ray񤭽Фμ

Ѥߡ
StyleMgrcontextγǰ⤦
Scene::display()γϤȽλcontext򤽤sceneIDꤹ
δ֤˹Ԥästyle/paletteβscene ID --> globalνǹԤscene localǽˤʤ

Ѥߡ
MaterialγǰƳɬ
¡Renderer˻ǽ
ʳColorǤȤϤǤmaterialǽ
material name --> material params (Table)ɬ, palette
material paramsϡ񤭽Фtargetdisplay contextμ˰ۤʤ
ʳcolormaterialγǰ̡ˤʤäƤ롥
rendererˤäƤmaterialΤߤǿǤ礬Τ꤬뤫⤷ʤ


Localˡ¸ùʱ黻ˤǤ褦ˤƩ٤٤ʤɡ
Localɤ߹Ǥ⡤LocalǴƤ뿧ϻȤǤ褦ˤ
ϥեǽФƤ֤˹ԤƤ롣
color, materialʳϰͤε§ʸǡǤ褦ˤselectionؤαѡ


Scene reader/writeräStreamManager¾Ʊͤ˰褦ˤ(category ID 3,4)
ScenereloadԤ褦ˤ


ʬǥޥȤ褦ˤstyleǹԤ褦ˤ


Styleγեǽˤ񤭽ФˤϡեؤλȤȤƽ񤭽Ф롥


StyleҤʣ硤줿̤äƽ˻Ȥ褦ˤ
ΤΤ񤭤Ǥ롥


StyleʳstylemanagerƤɤ߹߻ξ򼺤ʤ褦
񤭽ФΤäColorꡥ
Ʃ٤٤ʤmodificationԤäˤĤơξ󤬼Ƥ롥
LDOM2NodeݻơƤӽФɬפobjectѴʤƤ򻲾Ȥ褦ˤʤФʤʤ


StyleMgr񤭽ФˡݻƤLDOM2Nodedeepԡʤȡserialize˴Ƥޤ

TO DO
sceneƤstyle, palettesceneեǽ񤭽Ф褦ˤ

Ѥ
materialǤϤʤrenderer˰Ǥɤ


==========

2010/01

MacOS X buildǤϥǥեȤlibtoolizeʤ
glibtoolizeȤΤΤǤѤ褦ˤ롣

MacOSǤbuild׷(prerequisites)
- boost-1.39ʹ
date_time, filesystem, iostreams, program_options, regex, system, thread
librarybuildɬפ롣
Τޤbuild64bit binaryΤߤǤΤǡbjam
architecture=x86 address-model=32 link=shared,static threading=multi
ꤹ롣
- xulrunner-sdkʤruntime
sourcebuildɬפϤʤsdkΤߤlibglibʤɤʤΤ
mozillabuildĶɬפ롣
sdkΤߤȡpackageɬפFrameworkäƤʤΤruntime
installɬפ롣

2010/01/14

GeomLineAtomIntrRenderer
СηXMLˤ뵭ҤscriptingȤʤäƤޤäƤˡ
XMLɽθơꤷҡ˴֤褦ʼˤ
ΤᡤMolCoordSelCommand, MolAtomμȤʤäƤ롥->molvis˰ư

2010/01/16
frameworkxulrunner1.9.2rc1˥С󥢥åפJITθ̤㴳ư®


ScenEventscene loaded eventɲä
٥ȤʸץѥƥȤ¸졢٥ȯeval()褦ˤʤäƤ롣
ʥ٥ȥåȤobjectʤɡˤȤ褦ˤ롢ʤɤιפɬפ

2010/01/19
xtal, DensityMap, MapMeshRenderer, CCP4MapReaderΰܹԤưǧOK.

Ѥ
DensityMapMolCoord objˤǤSelectionRenderer(㳰ФĤĤ)attachƤޤΤ
ʤ褦ˤ

2010/01/23
SSM superposecoot/libssm/mmdb

2010/01/24
XULopenPopupνФԤäΤ

 ٥ȥǥˤĤ
Scene, Object, Renderer, View줾ȼeventȯ
ʤʳˤproperty eventȯ
Object, Renderer, ViewScene°Ƥꡢ
ȯeventScenereroute롣

SceneȤ˴Ϣobjects eventٽᤷϡSceneΤlistenФ褤
ʤ虜虜sceneɲä줿ɤƻ뤷ƳobjectsФlistenɬפϤʤ

ġΥ٥listenϡбobjectsФƤΤlistenΨ褤
SelectionRendererMolCoordѲ˱ɽѹrenderer<->object
ϢȤϤΨŪ

2010/03/06

objectɤ߹ߤloadObject()ѻߤơreaderobject attachread˴
νscriptԤ褦ˤ
Readeroptionscriptǽˤʤä


Readeroptionΰ㤤ˤscenedeserializationѤäƤƤޤΤǡ
objectReaderoptionݻơserialization
roptsȤ⤦ơReaderoption¸褦ˤ
Readeroptionϡsource, srctype°ƱʪǤ롥


StreamManager.createHandler()nicknameǤʤƥ꡼IDꤹ褦ˤ

2010/03/14

surface module
gfx::Mesh
MolSurfObj, MSMSFileReader, MolSurfRenderer
ElePotMap, OpenDXPotReader

2010/07/10

mcwrapgen3.plPerl moduleǼ롥ʥեʬ䤬ǽˡ
mcwrapgen3.plǡJavaScript wrapperư褦ˤjs⡼ɤɲá
¸طΥȥ졼䤳ʤäƤ롥wrapper js̵Ƥ⼫ưŪmcwrapgen3.pl¹Ԥʤᡤ٥ӥɤɬפˤʤ롥
XPCOMΥ󥿡եjsapi򰷤褦ʤΤǡ˥եȤ뤳Ȥͤ롩

CallbackϿؿ(object<LScrCallBack$>ȤϿIDֵѤmethod)ϡcallback objectĤΤߤ˼ꡤ֤ͤ(invokeWithCallback1ǸƤӽФ)ʳԲ
(invokeWithCallbackNǡ裲ʹߤǤաȤΤ⤢꤫⤷ʤΤȤӤʤΤǼƤʤ)

2010/08/25

OpenGLطnsplugin˰¸ʤ褦߷פǤ뤫ȥ饤ʥܡɥ٥ȤޥʤɤԹ礬ä
OSX CocoaǼWin, gdkȤ˲ǽäݤ
XPCOM native widget, Winλ
tabmolviewΡXBLΥɤtabmolview.js˰ܤ

꡼ꡧ衩
Scenescriptˤevent listener, äObjPanelλξremoveʤȤʬäObjPanel.fini()ƤӽФ줿ˤϴsceneorphan(SceneManagerˤϽ°ʤˤäƻȤƤ뤿˴Ƥʤ)ˤʤäƤ롥ŪбȤơScenedtorǻĤäƤޤäscript callback objdelete褦ˤ

ScrEventManagerƳ뤳Ȥǰʲϲ褷ƤϤcuemol native objectscriptľܻȤƤ뤳ȤϤʤϤƤθƤӽФϡevent managerslotͳslotJSGCδƤǤˡ
orphan֤objectäeventȯˡ˴줿script򻲾ȤǽϤǤ롥ObjPanelˤäremoveListener˸ƤӽФ褦˲٤ǤϤ롥

DOM InspectorȤ߹CVSˤdom inspectoräƤʤΤǡchrome/inspector.jarư֤ʤФʤʤ

Jetpack SDKѤ褦ˤ
CVSˤjetpackäƤʤΤǡưresourcesʲɬפ롥
resources/harness.js
resources/jetpack-core-lib/*.js
ʾΥեϡjetpack SDK distribution餽Τޤޥԡ롥ʳcuemol2ðŪʥեCVS줿
harness.js
/jetpack-sdk-X.XX/python-lib/cuddlefish/app-extension/components/harness.js
򥳥ԡ뤳ȡ¾ˤƱ̾Υե뤬뤬Ǥưʤ
Jetpack SDK0.7Ǥʤưʤ(0.8빽ѹ뤿jpk_hns.jsѹɬ)


2010/08/28

sidepanelmanagerclosecollapse

Ѥ
ѥͥdrag and dropμȾühiddenpanelȥХ롥
saved data鿷ѥͥ뤬ɲä줿ˡ
Υѥͥ뤬restoreDefault¹ԤޤɽonLoadƤФʤ֤ˤʤ롥

ѡ˥塼show/hide
ѡѥͥpersistency

Ѥߡ
treeƤsidepanelưȾäƤޤ
DOM٥ȥϥɥ顼ˤäƤϡϥɥ顼λˡˤäDOMؤ򤤤Ȥʤ븽ݤ줿Τ
äpanelbarbuttonȯѤߡ˴ط뤫⤷ʤ

ѤߡtreeμMVC˴Ťưפˤ褦ʥ饹ɬס

object-menulist
ե륿ꤷơobject򤹤drop-down list boxŪ˻Ѳǽʤ褦ʪܻؤ

symm module
symm-panel
MolCoord, DensityMapˤĤƤϥĹʤɤɽǤ뤬̤̤ʵǽ¿

λ
change/edit symm info (+dialog)
show unitcell renderer
show symm renderer

2010/09/11

Scripteventˡ㴳ѹ
listenerơXPCOM object(qIScrCallBack)äơnativeľܸƤӽФ褦ˤƤΤơ
縵event managerΤqIScrCallBackѤơjsevent manager <--> qsys::ScrEventManager
̿(?)褦ˤscript¦callback obj (object or function)nativeݻΤǤϤʤ
js event manager (jetpack moduleѤsingleton)ݻ褦ˤ
objectμ̿ʤɤ򤷤䤹

qsys::ScrEventManagerǡevent filterεǽ
ꤷȤ߹碌Τߡscript handlerƤФ褦ˤʤ뤿ᡤ
ɬפscript/nativeζԤ褹ɬפʤʤ롥
ºݤfilter˰פΤLEventjsonʸ֤
줬event manaterobjectѴơlistenerϤ褦ˤ
JSONȡparseɬ׻Τߤˤ褯ϤǤ롥

object-menulistб

λ
workspace-panelб

DOM InspectorȤ߹
inspector.jarchrome
defaultsˤjs
componentsˤjs
Ĥ˺ȡflasherưʤXBLŸǤʤ

2010/09/15
densitymap-panelɲ
ϤޤޤԴ

JS wrapperCu.import()ȤäƹԤ褦ѹ
getClassObj()֤metaclassʤ̾ˤȡwrapper JSбƤʤ
wrapperloadʤʴ˾ȤƤsuperclasswrapperɤ߹ǤۤˤȤ
Զ礬äLScriptable::getScrClassObj()ȤinterfaceɲäƲȤб
嵭Ƥϡ礭Ϥʤ褦˸롥

ScrEventManagerǡevent target typeλͻǤʤӥåȥޥˤơ
object+rendererlisten롤Ȥ褦ȹ礻꤬ǽˤʤä


sidepanelΡopen/close menu, session save/load

treeviewopen/collapsed state¸
workspace panelɽɽbutton

molstruct panelν

2010/09/20
jarե벽ߤ롥mozillamake-jars.pl
zip̥ץबɬסpath̤äˡzip.exe (mozilla build toolsinfo-zip°)֤ƻѤ롥


windows QSC documentޤinstallerǤδϢŤ
document
ưΥޥɥ饤qscեꤷƵưȡɤ߹褦
2󥹥󥹤ưˡޥɥ饤꤬ä(qscʤ)ɤ߹б

scenemodified flag(undo/redoƤ¤)֤ͤ褦ˤ(ñundo size>0-->modified)
scenesave, open, saveas, reloadư褦˼

CameraEventμ
workspace panelcamera򰷤褦ˤԴ

paint-panelμ
NamedColor͡ʾ̤ǻȤ뤿ᡤNamedColorΤScene ID褦ˤ
ʤ(äsceneȴϢ夤)GUI JScolor codeȤ줿ˡʤʤ
դˡNamedColorsceneޤäƥԡ뤳ȤϤޤʤȹͤ롥GUIǽʤ褦¤
NamedColorˡSceneIDʬäƤɬפ롥
NamedColorؤɡơfromStringS()Ƥ롥ʸ󤫤propertyѴ

ס
fromStringS()Ѵꤦ̤ǡStyleMgr::push/set ContextIDǸߥID򥻥åȤ褦ˤɬפ롥
ΤȤSceneXMLReaderǤפʾ̤Ǥ뤬
GUIǤ⡤Ѵ롤color propertyꤹ̤Ǥϡpush context򤷤Ƥɬפ롥

Ѥ
ʲϡ
StyleMgr::push/set ContextID
ѶŪStyleMgrcontextꤹ뤳Ȥǲ衣
Scene::display()colormaterialλȲԤȡlocalȤǤʤȤ꤬ꤦ롥
ޤΤȤɤϤʤΤϵƤʤ褦˸뤬
Style˴ؤƤϡscope IDꤹɬפΤϵʤ


2010/09/26
paint-panelμ
remove entry.
changeundo/redo.
addundo/redo.

PaintColoringμ
removeundo/redo.
changeundo/redo.
addundo/redo.

¾
XML񤭽Фơattribute&λȤѴ褦ˤʤʤʸ񤭽Фʤ

TO DO:
paint entryνѹܥ

2010/10/13

scene fileɤ߹ľˡmolstruct panelɤ߹ʬҤɽʤʥviewڤؤɽ褦ˤʤˤΤ
DeserializationϡŪeventȯʤ褦ˤSceneManagerڤΥ줿֤ǹۤ
ˡONLOADED (DESERIALIZEDѴ) eventȯΥߥ󥰤UI򹹿
ObjectMenuListdeserialized eventٽᤷʼºݤϤǤ򤵤ƤܤǤϤ뤬DOM select eventȯ
ObjectMenuListѹˤꥳƥĤƹۤUIϤǼưŪ˹롣
¾UIǤϡdeserializedٽᤷƳƼƹۤɬפ


Deserializationˡstyleset줿ȤˡStyleSheet::applySetƤФƤ
λǤϤޤrendererscene˴ϢդƤʤᡢstyleǤʤȤ꤬ä
Deserializationstyle namesΤߤꤷ(setStyleNames())
onLoaded eventˤơƤstyle٤apply (applyStyles())褦ѹ

衧Х?
MacOSXǡjsbr::init()˸ƤФ褦ˤ
ϡۤʤdylibФơstatic libraryǤjsbr̡˥󥯤Ƥơ
ƱǤ⡢ۤʤ륳ɤΥ󥹥󥹤ФƸƤӽФԤƤ
jsbrdylibˤ뤳Ȥǲ


colpickerXBLˤƤcolpickerǤpanel褦ˤʤ뤬ºݻȤΤϣĤʤΤǡ̵̤¿Ǥ
colpickernamed color list
colpickercolor palette
paint-panelǡCPKColoringλpropertyѹǤ褦UIˤ
textboxѤäȡpopup-panelĤȤpropertyѹ褦ˤ
sliderϢưѲUNDOˤʤꤹΤǡ


tabmolviewǡactive tabκ¦ˤnon-activetabclose buttonĤ줿Ȥˡ
molviewɽʤäΤ
RendererstyleApply򤹤뤿onLoaded event褦ˤsceneư̾줿
onLoadedȯʤᡢremoveListener򤷤ʤäƤΤǡdtorremoveListener褦ˤ
ºݤϤʳӤʤưξϤ⤽listenɬפϤʤΤǡ
ʤ顢deserializationΤaddListener褦ʼˤۤ褤


font listinterfaceΤ
chrome://mozapps/content/preferences/fontbuilder.js
ˤ뤳ȤʬäѤͽŪconfig dialogơΥ٥fontǤ褦ˤ
defaultϡstyleȤư褦ˤ
stylesetstyleidĤƻȤǤ褦ˤstyleΤ߻ȡ񤭴Ǥ褦ˤ
styleμ֤LDom2NodeǤ뤿ᡢͤμϤ٤ʸǤ롣
applyStylefromString()ʤɤȤäơapply target˰¸Ѵ

global styleset (ctxt==0)Ρstyle id="user"ΤΤΤߡ
ưuser profile(user_styles.xml)ɤ߹ߡλƱե˽񤭽Ф褦ˤ

ǡstyle id="system"ΤΤapplication/data directorydefault_styles.xmlɤޤ졢
ѹϤǤʤpermissionʤդĤϽ񤭹ʤ

TO DO:
labeldefault fontʳˤ⡢Ȥdefaultꤹpreference dialog
firefoxΤ褦prefdialogʤɤѤǤϤ

2010/10/22

event casterޤǡremove()ʤɤunlock줺return礬ꡢ
λˡʺƸassertion failedˤʤäƤΤǡ
lock/unlock褦˽
ʺΤȤľä褦˸뤬ͻҸɬס


povray rendering dialog
windowsǤmegapovѤ¨renderingǤ褦ˤ

TO DO:
child processưϤǤ뤬stdio/stderrstreamˤĤʤȤǤʤΤǡ
nsIProcessǤϤʤȼμɬפǤ롣(Win32, posixǰۤʤˤʤ뤬)


File openrendererdialogȡNew rendererrendererdialog
̡μΥԡˤʤäƤΤǡ졣

2010/10/31

Object save as dialogȡobjectν񤭽Ф

config-dialogǡڤؤ褦ˤ
config-dialogǡʸitalic, boldǤ褦ˤ

2010/11/3

styleμcascadingˤʤ褦ˤ
ήǤϡɬʬoverwriteǤϤ
<style>⸫ĤġήޤǤΤܤäõ褦ʥɤˡ
config editorǤstylesheet accessȡapplyStyle()ǤΥ硣
stylesheetϢgfx/StyleMgrStyleImpl.cpp˰ܤ


selectionΡaround, expand
selection cache manager
cache IDʳˡselectionʸɽcache򸡺Ǥ褦ˤ


rendererǤϡresetAllProps()Object::createRenderer()ǹԤ褦ˤ
ϡctor˸ƤФ뤿ᡢctorǽͤѹǤʤ
ʤȤޤǤμ꤬ѹȤƤ⡢ͤǤʤͤǽƤȤ
ʾˤʤäƤ
󥹥󥹤饹ǽͤѤϡ
Ѥ褦ˤФ褤styledefaultͤѤƤ뤳Ȥ뤿


paint-panelǡtarget̵ʤä̵coloringФpanelڤؤ褦

TO DO:
SelCacheMgrǡmolѹ줿ȤˡϢcache data̵ɬפ뤬Ƥʤ


BfacColoring
paint-panelcoloringڤؤ褦ˤ

2010/11/24
(MacOS X)
XPCNativeWidgetCocoa/NSOglMolViewμǡmouse eventXUL windowžʤDOMEvent
ȯʤäžȡXULnsChildViewμΤmouseMoved˸¤̵ºƵ
٤äƤޤȤ꤬ä
mouseMoved򲿤⤷ʤmethodǼʤȡdefaultviewμnextResponderevent¡ˤ
ƤФơƱͤξɾꡤե꡼bus errorƤΤ줬
NSView::hitTest() method򤦤ޤƤ뤳Ȥ̵ºƵǤ狼ä
nsChildView::mouseMovedμ礭¸Ƥ뤿ᡤ
XULѹˤäưʤʤ뤳Ȥʬͤ¾ᡤա
ʳmouse eventˤĤƤϡñnextResponder¤Ƥʤ뤤defaultμ
褦ʤФϡsuperΥ᥽åɤ¤ǤɤˤǤ褤褦

2010/12/24
ߡѻߺѤߡ
SerializationϢ
NamedColor˴ؤơʸĴʳʹ¤Ѥơmaterial, mod_hʤɤˤ⡢
ǽˤץǥХå
LDOM2NodeˤĤơ곰ưԤ碌褦ˤʤʤäƤ롣
ʵꡧvalue°ϡʸĴchild nodesϤʤ¤ξϡ
type°objectηꤷơۤobjectꤹ
ˤĤƤϡ¤Ǥvalue°Сۤ٤value狼ꡢ
ˤäƹۤΤǡtypeꤷƤϤʤ


Rendererˡmaterial, alphaꤷơmaterialƩͤΥǥեȤǤ褦ˤ
alpha˴ؤƤϡ񤹤뿧ˤ٤ơalpha
軻褦ˤʤäƤΤǡdefaultͤȤ櫓ǤϤʤ

2010/12/25

Color˴ؤơäNamedColorͤξѹɬפʾ礬¿Τ
Ƴб褦ˤθˡCSSΤ褦ʳ̼ǿpropertyǤ褦ˤ
ĤǤˡrgb()ʤɤɽparserˤäƲϤ褦ˤ
ʡ嵭colorι¤ѻߡˤĤƤϡisStrConv()Ͼtrue֤
toString()/fromString()serializationǤ֤ݤä

Debug
PaintPropDialogMolSelListǡߤ(mOrigSel)ϤƤʤäΤǽ

2010/12/26

mcwrapgenǡarrayarrayϡintrinsicȤư
script wrapperǤϡ줾interpreterǤintrinsicarrayؤѴ롣
qlibarray(LVarArray)ؤΥ󥿡եͿ櫓ǤϤʤ


XPCObjWrapperǤΡLVar2NSVarǡarrayѴ


xulrunnerlinkƤϡȼjs code (1.7)Ȥʤǡ
xulrunner¦js codeȤ褦ˤ롣(1.9.2Ǥϡ1.8.1nanojitѡ
ʢUNIX CLIǤǤϡjsȤ褦ˤ롩
ʤȡUNIXפOSǤjsȳjsΥܥ뤬֤ĤäƤޤ
ɤjsȵưǤʤäݤ


Internal JSѤΡscript callback
ݻƤfunction objcontextΥޤäʤƤʤΤǡ
ΤޤޤǤϻȤʪˤʤʤ

2010/12/30

JSCallBackObjcontext, funcobjΥ
context˴ؤƤϡweak referenceŪʤΤˤ
ᥤcontext˲Ƥ顢ƤӽФϼԤ褦ˤfalse֤
funcobj˴ؤƤϡGCоݤˤʤʤ褦ˡruntimeΤ餻褦ˤ


Application update(cuemol2.js)
ư塢֤ȥåץǡȥåư(idleAutoUpdateCheck())ʥ˥塼ưǤǽ
www.cuemol.org (Τsourceforge.jp)ˤphp scriptrequestꡢ
бOSѤκǿǤСdownload siteͶƳ褦ˤƤ롣
ƥʤɤΤǡ˥ɤϤʤ

2011/1/3

Native codeѤEvent˴ؤơ
ŪˡView, Scene, Renderer, ObjectľEventȯʤ褦ˤ롣
ScrEventManagerNative eventФ륵ݡȤScrEventManagerͳ
Event¤褦ˤ롣


MapMeshRendererauto updateư褦ˤ


Cameraproperty dialoggeneric prop editorǼѤ
Camera̾Ǥ褦(prompt serviceѤʰפʤ)



symm palette UIμ
UnitCellRendererμ

TO DO:
ƤrendererinterfaceȤơgetCenter / center propertyΤϤΤǤϤʤ

TO DO:
molsel paletteǡ!黻ҤȤʤΤǻȤ

2011/1/23

context menuȿž
context menuǡǤȤΤ

2011/1/27

selectionΡbyres黻Ҥ®
ñˡܤɾλˡmolresidueĴ٤ơcache
ܰʹߤϥåѤ롣
ñʥåǤϡưƤ˸롣®٤

mol selection commandǡbyresidʳˡbymainch, bysidech
Ĵμ˱ơʸܤ¦Τ򤵤褦ˡäProline㳰
xxx & !name C,N,OǤϡPro󥰾ɽʤΤǡ
ϡbyresidƱͤˡ

2011/2/3

toolbaiconɲ
toolbarˡundo/redoɲápopupmenuǡʣʳundo/redoǤ褦ˤ


rectangle selectionǤhittest parsingη̤֤᤿
äRectSelʤɤΤˡsel (ʸ)ľ֤褦ˤ
κŬʤɤC++¦ǲǽˤʤ
ʣ򤵤ƤȤaid֤Τ᤿
®ʤȤȻӤ̵ˡǡˤäΤǡ

2011/2/4

˻ʤɤΡsidech, mainch for bymainch, bysidech黻


Asterʤüʸ䥭ɤ򵭽Ҥϡsingle뤤double quotationǰϤ褦ˤ

ʬҤʸǤǡresname *resid  *Υ磻ɥɤʤ
ҤǤȤƤ̣ʤΤǼʤȤˤʢasteriskϥ顼ˤʤ

selectionλȹβ衧
켡Ȥϥѥ뤫ɤΤ߳ǧ
ʤ˿ڤϡparserreentrantǤʤảμǤ̵
ȤĤʤȡѥ륨顼ˤʤ褦ˤ

Ѥ
QSCեΥѥ̾Υѥڤʸꡣ
ХѥȤäϡɤäߤߴˤʤäƤޤΤ\ǽ񤭽Ф
Хѥξϡ٤ƤΥץåȥեɤǽݻ뤿ˡWinǤ/Ȥ褦ˤ(Utils.cppmakeRelativePath()вƤΤǤǤĤǤ˽񤭴)


ʸˡaroundĥ¾ʬҤ[]ɽ̾ꤷơμϤǤ褦ˤ
[]Ǥ.:ϻȤʤΤǡ̾ʸޤޤ""ǰϤɬפ롣


config dialogprefpaneȤ褦ˤ
shortcut managet
key binding굡ǽɲä

TO DO:
Ȥshortcut methods򤹤٤Ƽ롣
shortcut methodsؤΰȤ褦ˤ뢪ư̤Ѳʤɡʤidɤ뤫Ȥ꤬

Ѥ
MacOSXǡprefpaneOK/Cancelܥɽʤ
MiscConfigFontMenuۤʤ(ȹԤƤʤ)
DialogΥʤɤ㴳ꡣ

TO DO:
MRU (Most Recently Used) file listfile, scenefile˼

Ѥ
QSCեǡ¾եؤλȤǤϤ٤Хѥˤʤ褦ˤʤäƤ뤬
줬ľѤȿ̤⤢롣Хѥʬ䤹⤢롣
altsrcȤattrξԤȤ⵭ϿƤĤʤϤ⤦򻲾Ȥ褦ˡ
ߤμ
scene XMLե¸ˡsource pathbase URL (qsc fileǥ쥯ȥФˤ褦Ѵ
ǡaltsrcХѥ¸srcڤˤʤäϡaltsrcɤळȤߤ롥

TO DO():
ڤ줬Ф줿硢Ǥɤ߹ߤ˼Ԥ뤬
ڤ쥨顼ϥɥ顼ʥץȡˤǤ褦ˤơ
桼˥󥯤ꤵƥ顼򤹤褦UI

/TODO:
ȥ꡼Υѥ̾ϤɤʤäƤΤUIɤ߹Τϡ٤ХѥǳǼƤ(UIХѥǰ)
src attrƱ͡СФƱͤ˵롥
srcвaltsrcХѥ¸褦˼ʤФʤʤ

TO DO
selectionǡinsertion codeǤ褦ˤ٤ (A.123B.CA, resid 123B ʤ)
ǤϡʬƤʤΤ123ȻꤹȡA, B, C, ...٤򤵤롣
դˡresidue 123AΤ򤹤Ѥʤ
Range classΤ뷿ʤ鲿ǤѤǤcontainerˤȤƤ⡢
123Z124ͻ礷ƤΤɤȽǤǤʤȤ꤬ZǽäƤݾڤʤ
123<123A餷123123AʪȤȽǤʤФʤʤ

2011/2/10

sidepanelμǡѥͥshow/hide/moveΤȤбevent methodƤФ褦ˤ
PaintPanelcolorpickerpanel show/hide/moveưʤʤ
ʢonPanelShow, onPanelMoveǺƽԤȤн

sidepanelμpanel (_data¦)hidden, paldef (_defs¦)shownĤե饰롣
_defs¦JavaScript¦ľܥǤΤshownե饰ߤ
hiddenshown̯ͤ˰㤦롣
hiddenϻꤷͤǼƤ뤬shownϼºݤwidgetξ֤ɽͤǤ롣
(ʤɡhidden=falseǤäƤ⡢shown=falseȤʤäƤ礬)

sidepanelμǡ1ĤΥѥͥ뤬ɽȤˡפsplitterɲä졢
塹ޤǻĤäƤޤΤ

collapse/expand button°statedrag insertion markerstateȤ֤äƤơ
ͽ̸ݤäƤᡢԤpanelstateѹơpanelstate=collapsedξ
expand buttonɽ褦ˤ

Ѥ
sidepanelˡmovePanelԤdatawidget礬Х롣


ʸġϤޤʤ˰prefpane icon򤹤٤ƻ֤ꤷ

11/2/14
Ѥ
SymmRendererhittestбƤʤäΤ


objmenulistǡƤĹʤ...ɽƾάƤޤ
ºݤˤΤ褯狼ʤʤäƤޤ꤬ä
äpaint, density maprendererlistǡ
tooltiptextǾάʤ̾ɽ褦ˤ

11/2/19

molsellistǡall(*)Υפitem򤷤Ƥ⡢
menupopup˵ʤʼpopupɽȤ̵äƤޤˤΤ
menuitemtexteditʸ󤬰פƤʤäᡣmenulistdisableautoselect="true"Ȳ

workspace panelcontextmenupaint˿Ф褦ˤ
paint coloringǤʤȤˡpaint menu򱣤褦ˤ

selectionhistorymolsellistɽ褦ˤ
historyϤ٤js/xul¦ǼƤꡢapp globalʥꥹȤǡ
jetpack simple-storgageѤserialize/deserializeƤ롣


Ѥ
POVray񤭽ФǡFogOGLɽȷ빽äƤޤäƤΤǤʤ


HW stereoеưʤäΤǡư褦ѹ
NativeWidget reloading (reload())window sizeʤäƤΤ

POVray renderingǡortho/perspec, clipping plane(ΤʤΤǻȤʪˤʤʤ)Ǥ褦ˡ

POVray renderingǡclose, renderingʤɤtmp image fileȾä줺ĤäƤޤХäΤǽ


¸ˡscene panelscene nameθγ⤬ˤʤʷФǤƤʤäݤ
Generic prop editorSelectionͤѹǤʤ
ball&stick, thicknessѹƤ褬ʤpropchange handler̤


Scene paneltreeطʤʤ


ѥͥĤơɥѥͥ뤬collapseˤʤäƤ֤ǡ
restore default panels¹ԤƤ⥵ɥѥͥ뤬ʤ


IleCDҤȤĤʤäɽʤ礬롥
(ʸcdȤ̾ϤʤʤΤ)
PDBFileReaderhard codingatom nameѴɤ"cd"ȤҤäᡥ

Х
distpickermarkФʤʤ뤳Ȥ


٥(NameLabelʤ)Фơdepth queuing(Fog)ʤ
ATI Radeonͭ餷(GeForceǤϵʤ)
CueMol1CootǤƱͤFogʤOpenGLμ꤬Τ


AAʤʸɽoption


1bit depth bitmapΥdestructor


SSM/LSQ superposeǼԤȤˡʥ󥽡˥顼ϽФ뤬˥顼åܥåФʤ
Ф褦ˤmessage boxƤϤɤ顼Ϥ狼ʤȤ꤬롥
cuemol.getErrMsg()C++ꤲexceptionmessage褦ˤ顼θɽ褦ˡ

2010/3/10

C++exceptionΥ顼åjs¦ãʤȤ꤬ä
XPCOMǥ顼åjs exception˳ǼˡʬʤäΤǡ
Ȥ⤫errnoŪXPCCueMolgetErrMsg
alert dialog˥顼ƤɽǤ褦ˤʤä


clearAllData()ǽƤⲿeventȯʤᡤUIʤä
SEM_CHANGEDȯ褦ˤXUL UI¦Ǥбƹ褦ˤ
SEM_DESERIALIZEDѻߤSEM_CHANGED礷args.method̾Ƚ̤Ǥ褦ˤ

----------
λTopoDBμ
TopoDBΰ֤Ť
Ūѹä˺ˤϵʤΤȤ
Ĵȥݥɲäϵꤦʥꥬɤμư
Qscեˤbondʤɤΰξ¸ʤ(μPDB)
ɤ߹߻˺applyTopoDBԤtopoDBαƶˤϺɤ߹ߤɬפˡ
bond, linkageapplyTopoDBˤ
basepair, secondary: qsc˻Ĥ뤬applyˤ񤭤Ǥ
ߤμǤqsc˻ĤȤǤʤʤȤɬפ롥
applyϰϡʻĴ̾ˤǤ뢪ĴΤߤapply
vdwradius, chargeMolAtomˤ°ʤParamDBͤäơ
ɬ׻MolAtom/ResidueξѤƲ褹褦ˤ(XYZRFileWriterʤ)

λ
DBȼXMLɽ
protein, nucleicacid, sugar, ligand̡XMLդ
parameter̤XMLե
coot/ccp4mmcif data顤aminoacid, nucleicacid, sugarʤmacromolecule˽פ
componentsΤߤäƤ뢪XMLɽѴ
cuemol2ȼpropertyưɲ(ringʤɽò)
VdW radius, partial chargeǤ(ener_lib.cif, Hդ⤢)
partial chargeϡHʤheavy atom­碌륳ɤɬ
synonym (alias)Ĵ̾Ǥʤ̾(PDBFileReaderǤhard coding򸺤餹)
linkage REFMACŬ褦TopoDBѹ
[comp(=resid name), mod, group(=polymer type)ˤ]

ͽ:TopoDBɲáʣ
XML(cuemol2ȼproperty)ɤ߹褦ˤ롥
ringresidue linkage˱ƶ

Фɤ߹ޤƤtopodata
¾ΥˤϴĤʤ褦֤̾ꤹɬפ뤬
桼Фɤ߹ޤƤtopodata
ؤΤʤ

ener_lib.cifбޥǡϥ󥿥ǤѹǤʤ
XMLγƥȥ꡼ener򻲾Ȥ뵭ˡȡľܻꤹ뵭ˡǽchargeʤɾ񤭻

ͽ:TopoDBɲáʣ
mmCIFɲäǤ褦ˤ롥MMDBȤäƼ
prodrgphenixǺäΤɤ߹褦
ʤɽ˴ؤƤΤߤʤmmCIFɤ߹ޤǤʤΤǡͥ٤Ϻ

XML/refmac cifȤɤ߹ȤˡΤФapply뤫
ϢĴΤߤФapply뤫Ǥ褦ˤɬפ롥



secondary structureqsc¸Ƥʤ
󼡹¤Ʒ׻뤳ȤǸʤ褦ˤʤäƤ
󼡹¤Խ뵡ǽ뤦Ǥꡥ

ϢTODO
SSưǤ褦ˤ

ϢTODO
ФưǤ褦ˤ

----------


ImgSceneExporter, OglFBOView
platform independentglextFBOѡʼƤʤȻȤʤޤɤܼۤƤ롩
libpngѤPNG񤭽Ф
CueMol1ȰۤʤantialiasingϻȤʤDPI, alpha channelȤ褦ˤ
XUL UI


PDBFileWriterǡsymmetryξcryst1 record˽񤭽Ф褦ˤ

褹
Distance pickingǡ1st atompick줿Ȥ狼ˤ
򿧥ޡɽʳˤ⡤Status barˤɤθҤpick줿ɽΤȡ
2nd atompick줿Ȥ⡤(Logwindowʳˤ)Υʤɤɽ褦ˤ

褹
Measure toolˤĤơߤǤϡmoleculeƬatomintr rendererФ
˵Υɲä褦ˤʤäƤ뤬ɲärenderer̾Ǥ褦ˤ롥


Atomintr rendererˤĤơgeneric dialogˤꤷƤʤ
distance definitionԽ뤿UIɬפ
ˤ롥
AtomintrĤоݤˤΤǤϤʤƱʬҤ³Ƥ뤹٤Ƥatomintrоݤˤ
Ūtree viewɽԽ롤˺


Angle, torsion pickingLogwindow˾ܺ٤ʾɽ褦
pick˴ؤƤ⡤distanceƱͤstatus barˤɽ

褹
intr editorǺǤʤܤǤƤޤ


nucleic acidxml fftRNAPheǳǧ


и٤⤤sugarxml ffľ˴ؤƤglycosidic bondǤ뤳Ȥǧ


nucleic acidprimeasterѴ
PDBɸ˹碌primeѡOP1, OP2ѡ
XML topparǤ⡤(Ȥrefmaccifѹ)aster򤹤٤primeˤ
synonymasterǧǤ褦ˤ
synonymO1P,O2PǧǤ褦ˤ


PDBSSBOND쥳ɤ᤹褦ˤ
PDBSSBOND쥳ɤ񤭽Ф褦ˤ

TO DO
AtomIntrList edit dialog
Tree viewǤdrag dropatomintr֤itemưǽˤ

BUG
mcwrapgen3ǡarrayproperty֤褦js wrapperŬڤarray objwrappingƤʤ
JS Array objǤ٤ƤwrapperƳǼ
ԡɤʤФʤʤʸΨ󸽼Ū


MacOS Xxulrunner1.9.2.16 (1.9.2.13ʹ?)ˤưʤ
xptե뤬ưʤʤΤǡxpcomϢǤʤäƤǽ롥
1.9.2.13ǤϤʤΤǡнˤ

TODO
QSCեǶͭɲɽǽˤ
ɲbondϡobject dataȤ¸롥PDBʤLINK/SSBOND쥳ɤɽǽ
ͭμưɲáUIͤ롥


force field, IleCD/CD1
qtlǤCD줷ƤPDBŪˤCD1餷
xml(cif)ǤCD1ѴɬפʤPDBFileReaderѴɤ
ܹԴкȤƤxmlqtlζ¸Ǥʤʤ롥
̵̤ǤϤ뤬synonymѤưŪxmlCD->CD1ѴԤ褦ˤ


qlib::InStreamϢready()ΰ֤Ťɤʤ
ready()==trueϡʤȤread()>=0ȤʤݾڤƤ뤬
ΤˡPosixFileμungetc()ȤäƤ롥
ready()ƤӽФˡgetc()/ungetc()ƤӽФΨŪ
stdioŪ!feof()Ūʰ֤Ťˤɤ
read()EOF֤Ȥ򵭲Ƥ
feof()==falseǤ⡤fpϤɤʤäƤ뤫ʤΤǡ
read()==EOF֤ǽ롥


ѤGlycosidic bond,ľ˴ؤƤϼưǽˤʤä

2011/4/1


QSC-embedded objectѤQdfAbsWriter/Readerμ


QdfSurfWriter/Readerμ
surfaceqscؤߤǽˤʤ


MSMSȤäsurface calculation UIμ

褹(?)
QSCchunk delimiter filter streamμǡХʥǡ꤬ä
boost::circular_bufferѤƼʤ(ChunkDelimFilter.hpp)
ΤȤʤưƤ뤬夵ʤƥȤɬס

2011/4/2

paint-panelelectrostatic potentialѤUI

MolSurfRendererΥåȤλͤѹtargetMolCoordѤǡ
elepotȤpotentialmapѤΥåȤ̤˺
UImol->elepot->molȤѹ򤷤Ƥ⸵ΥåȾݻǤ

APBSΥޥ˥奢˴ŤSASelectrostatic potentialSES忧option


PDBLINK쥳ɤ᤹褦ˤ
PDBLINK쥳ɤ񤭽Ф褦ˤ

TODO
POVRay񤭽Фclipping plane
cone˥ѴmatrixĤΤϺ(anisouǻѡ缴˳̾)


POVRay񤭽Фʤɤǡclipping plane (¡slab
line, sphere, cylinder, coneclipping(matrixʤξΤ)


POVRay񤭽Фʤɤǡclipping plane (¡slab
meshclipping

2011/4/9


CutByPlaneΰܿ
CutByPlaneGUIΰܿʺ


apbsGUIǡpdb2pqr.pyȤäpqrǤ褦ˤ


ʲȤμ֤γˤϥåȤʤΤǼʤȤˤ
Undo/RedoˤĤƤϡ̤˼ᤤ
EventˤĤƤϤǤ˼ѤߤʤΤǡѹåȤʤ
Cameraname uniqueǤʤID uniqueˤۤɤΤǤϤʤ
CameraObjectsubclassȤưСobjectevent, undo/redoλȤߤѤǤ롣

λ
megapovǤmesh2texture֤ƯʤäƤޤ
povray3.6consoleǤMinGWompileǤ¸dllmsvcrt.dllΤߤˤǤ(--disable-shared)

λ
UnitarityȽŤʸꤺ
POVRay, clipping planeμcylinderɽʤ礬롥
ƤξǤϤʤȡcylindermatrixĤƤޤ(Unitaryʤü˺ɸѴ
Ƥޤäơʤ٤Ĥʤ褦ˤ)

λ
QSCեatomintr rendererlist񤭽Фʤ礬롥
͸AIDǽ񤭽ФƤ뤬AIDϥåĶpersistentǤϤʤ
ɤ߹ƱҤؤƤ뤫ɤݾڤʤ(UIDƱ)
chain name.resid index.atom name(:conf id)ηǽ񤭽Ф褦ˤʤФʤʤ

2011/4/16

λ
insertion code륿ѥǡribboninsertionΤȤڤƤޤ
simpleǤڤƤΤǡconnectivity
123123Aɤ餬褫Ȥꡥ
PDBǤϽ֤ϻŪ˷ޤäƤΤǤϤʤФƤˤʤäƤäݤ
tRNAʤɤǤ123<123AtrypsinǤ123A<123ȤʤäƤ롥
Iterationν֤ϡեФƤ˹Ԥindex羮ϴطʤconnectivityϲ
Selectionν֤ϡindexnumeric羮ǹԤľѤȿʤ
ʤȤե2>1ȤʤäƤȤƤ⡤1:999Ȼꤷ2򤵤ʤΤľѤȿ

λ
ʸ;100Aˡresi 100Ȥȡ100Ǥʤ100A򤵤Ƥޤ
ϰξinscode̵뤹Τɤ(99:100 or 100:101100A)
ñξinscodeθ٤

2011/4/17

Ѥ
LDOM2Stream񤭽ФǡtypeȤ̾propertyäƤɬ̵뤵Ƥ
typeobjectη̾ǼΤ˥ƥबȤäƤ뤫餽ˤʤäƤ
embeddedפҥץѥƥǤϷʤΤtypeϻѤƤʤ
embeddedҤξΤtype񤭽Ф褦ˤ
ɤ߹ߤϤȤбƤ

λ
styleѲ˥٥Ȥȯ褦ˤ
Ѳstyle˱ơuid, style̾ˡбlistenerevent
ΤȤrendererΤEventListenƤ
ͳinvalidateԤȡapplyStyleƼ¹Ԥ

Ѥ
applyStyleǡҥץѥƥΰ꤬롥
ߤͤstyleͤǷƱξϾ񤭤ԤäƤʤä
ʷ㤦styleͤǤ٤ƾ񤭤Ƥ
ͰۤʤPaintColoringξstyleŬѤǤʤ
 (㤤propertyǤϤʤʳǡˤ뤿)
Ͳˤ餺٤ƾ񤭤褦ѹ
Coloringߥפλҥץѥƥˡ
ǥեͤäǤ⡤styleͤ˾񤭤ƤޤȤ꤬롥
TubeSectionΤ褦ߥפǤϡΡɼΤreadonlyˤʤäƤ뤿
⤽񤭤Ǥʤᡤϵʤ
ͤͤˤƤޤäʤΤǤϤʤ

ѹ
Povray񤭽ФǡTexBlendȤ褦ˤ
ԡŪ꤬뤫⤷󤬡ͻҸ
˱ơstylematerial@COLOR@ȤdirectiveƳ
@COLOR@ʬ٥֤褦ˤ

Ѥ(?)
ꤢ褦ˤϸʤ
render pov dialogǡconfirmation dialogεư
cancel򲡤ƤdialogλƤޤ(NoƱưˤʤäƤ

2011/4/30

LSQ fitRMSD file񤭽Ф

2011/5/1

atom intr rendererproperty
Rendererζproperty dialog page
Reset all to default

Ѥ
paint panelCPKColoring˿ѹpanelŬѤʤХä


styleundo/redo
(stylesͥ٥᤹ѹeventϢϤȯɬפ)

Ѥ
StyleSheetdefault value resolution routineǡstylesheetͤĤʤä
ä˲⤷ƤʤäȰstyleŬѤƤƤͤpropȤ
ǼƤˡͤĤäƤޤȤ꤬ä
stylesheetͤĤʤäϡqifեƤdefaultͤ
Ū᤹褦ѹ(¿ʬʤϤ)

Ѥ
Deserialize줿rendererstyle eventlistenƤʤäΤ
ctorǤ٤listen褦ˡ

Ѥ
NameLabelRendererlabelserialize/deserializeʤ


RendererˤĤơ
factorytemplate object̵̤eventlistenƤޤäƤ롥
ɬפobject allocationԤƤ롥(Τ˺ƤΤǡ
¤νɤϤ)
init()̤ߤơ̾ѤξinitializationctorʳǹԤ褦ˤ


XUL UIǡߤμǤñˤĤaid¿ѤƤ뤬
selectionˤĤƤpersistentˤʤ뤳ȤȤơ
hierarchy selectionѴƻѤʤФʤʤ㤨A.100A.CA:Aʤɡ


Gecko2Ǥϡmouse captureǤ褦ˤʤäƤfake dialμǽˤʤ롥
¾panelresizeˤǤ褦ˤʤäƤʤɡupgrade礭Τ
Ǥб


NameLabelRenderer.addLabel()undo/redo򥵥ݡȤƤʤ


