/*\r
* pettanR work.js\r
- * version 0.4.36\r
+ * version 0.4.37\r
* \r
* author:\r
* itozyun\r
* kbd shortcut\r
*/\r
var MENU_BAR_CONTROL = ( function(){\r
- var ELM_BAR = document.getElementById( 'menu-bar'),\r
+ var ELM_BAR = document.getElementById( 'menu-bar' ),\r
ELM_ITEM_CLASSNAME = 'menu-bar-item',\r
- ELM_ITEM_ORIGN = ( function(){\r
- var ret = document.createElement( 'div'),\r
- div = document.createElement( 'div'),\r
- ul = document.createElement( 'ul');\r
+ ELM_ITEM_ORIGN = ( function(){\r
+ var ret = document.createElement( 'div' ),\r
+ div = document.createElement( 'div' ),\r
+ ul = document.createElement( 'ul' );\r
ret.className = ELM_ITEM_CLASSNAME;\r
- ret.appendChild( div);\r
- ret.appendChild( ul);\r
+ ret.appendChild( div );\r
+ ret.appendChild( ul );\r
return ret;\r
})(),\r
ELM_SELECTION_ORIGN = ( function(){\r
- var ret = document.createElement( 'li'),\r
- a = document.createElement( 'a'),\r
- span = document.createElement( 'span'),\r
- key = document.createElement( 'kbd');\r
- a.appendChild( span);\r
- a.appendChild( key);\r
- ret.appendChild( a);\r
+ var ret = document.createElement( 'li' ),\r
+ a = document.createElement( 'a' ),\r
+ span = document.createElement( 'span' ),\r
+ key = document.createElement( 'kbd' );\r
+ a.appendChild( span );\r
+ a.appendChild( key );\r
+ ret.appendChild( a );\r
a.href = '#';\r
return ret;\r
})(),\r
ITEM_ARRAY = [],\r
- barH = pettanr.util.getElementSize( ELM_BAR).height,\r
- itemW = pettanr.util.getElementSize( ELM_ITEM_ORIGN).width,\r
- selectionW = pettanr.util.getElementSize( ELM_ITEM_ORIGN.getElementsByTagName( 'ul')[ 0]).width,\r
+ barH = pettanr.util.getElementSize( ELM_BAR ).height,\r
+ itemW = pettanr.util.getElementSize( ELM_ITEM_ORIGN ).width,\r
+ selectionW = pettanr.util.getElementSize( ELM_ITEM_ORIGN.getElementsByTagName( 'ul' )[ 0 ] ).width,\r
jqStage, jqBar;\r
- ELM_BAR.style.top = ( -barH) +'px';\r
+ ELM_BAR.style.top = ( -barH ) +'px';\r
\r
var MenubarSelectionClass = function( container, title, shortcut, visible, separateAfter ){\r
- var ELM_WRAPPER = ELM_SELECTION_ORIGN.cloneNode( true),\r
- ELM_TITLE = ELM_WRAPPER.getElementsByTagName( 'span')[ 0],\r
- elmShortcut = ELM_WRAPPER.getElementsByTagName( 'kbd')[ 0];\r
+ var ELM_WRAPPER = ELM_SELECTION_ORIGN.cloneNode( true ),\r
+ ELM_TITLE = ELM_WRAPPER.getElementsByTagName( 'span' )[ 0 ],\r
+ elmShortcut = ELM_WRAPPER.getElementsByTagName( 'kbd' )[ 0 ];\r
\r
- if( shortcut){\r
+ if( shortcut ){\r
elmShortcut.innerHTML = shortcut;\r
} else {\r
- elmShortcut.parentNode.removeChild( elmShortcut);\r
+ elmShortcut.parentNode.removeChild( elmShortcut );\r
}\r
elmShortcut = null;\r
\r
- container.appendChild( ELM_WRAPPER);\r
- \r
- updateTitle( title);\r
- updateVisible( visible);\r
- \r
- function updateTitle( _title){\r
- ELM_TITLE.innerHTML = title = _title;\r
- }\r
- function updateVisible( _visible){\r
- if( _visible !== undefined){\r
- visible = !!_visible;\r
+ container.appendChild( ELM_WRAPPER );\r
+\r
+ this.elm = ELM_WRAPPER;\r
+ this.title = function( _title ){\r
+ if( Type.isString( _title ) === true ){\r
+ ELM_TITLE.innerHTML = title = _title;\r
+ };\r
+ return title;\r
+ };\r
+ this.visible = function( _visible ){\r
+ if( Type.isBoolean( _visible ) === true && visible !== _visible ){\r
+ visible = _visible;\r
ELM_WRAPPER.className = visible === true ? '' : 'disabled';\r
};\r
- }\r
- return {\r
- elm: ELM_WRAPPER,\r
- title: function( _title){\r
- _title !== undefined && updateTitle( _title);\r
- return title;\r
- },\r
- visible: function( _visible){\r
- visible !== !!_visible && updateVisible( _visible);\r
- return visible;\r
- },\r
- separateAfter: separateAfter\r
- }\r
+ return visible;\r
+ };\r
+ this.separateAfter = separateAfter;\r
+ \r
+ this.title( title );\r
+ this.visible( visible );\r
}\r
\r
- var MenuBarItemClass = function( title){\r
- var ELM_WRAPPER = ELM_ITEM_ORIGN.cloneNode( true),\r
- ELM_TITLE = ELM_WRAPPER.getElementsByTagName( 'div')[ 0],\r
- ELM_SELECTION = ELM_WRAPPER.getElementsByTagName( 'ul')[ 0],\r
- INDEX = ITEM_ARRAY.length,\r
+ var MenuBarItemClass = function( title ){\r
+ var ELM_WRAPPER = ELM_ITEM_ORIGN.cloneNode( true ),\r
+ ELM_TITLE = ELM_WRAPPER.getElementsByTagName( 'div' )[ 0 ],\r
+ ELM_SELECTION = ELM_WRAPPER.getElementsByTagName( 'ul' )[ 0 ],\r
+ INDEX = ITEM_ARRAY.length,\r
SELECTION_CALLBACK_ARRAY = [],\r
- numSelection = 0,\r
- visible = false;\r
+ numSelection = 0,\r
+ visible = false,\r
+ instance = this;\r
ELM_TITLE.innerHTML = title;\r
\r
- ELM_WRAPPER.style.left = ( itemW * INDEX) +'px';\r
- ELM_BAR.appendChild( ELM_WRAPPER);\r
+ ELM_WRAPPER.style.left = ( itemW * INDEX ) + 'px';\r
+ ELM_BAR.appendChild( ELM_WRAPPER );\r
\r
- function onClick( e){\r
- var i = pettanr.util.getChildIndex( this.parentNode, this);\r
- i !== -1 && this.className !== 'disabled' && SELECTION_CALLBACK_ARRAY[ i]( i);\r
+ this.elm = ELM_WRAPPER;\r
+ this.onClick = function( e ){\r
+ var i = pettanr.util.getChildIndex( this.parentNode, this );\r
+ i !== -1 && this.className !== 'disabled' && SELECTION_CALLBACK_ARRAY[ i ]( i );\r
e.stopPropagation();\r
return false;\r
- }\r
- return {\r
- elm: ELM_WRAPPER,\r
- onClick: onClick,\r
- init: function(){\r
- $( ELM_SELECTION).children( 'li').click( onClick);\r
- delete this.init;\r
- },\r
- show: function(){\r
- if( visible === true) return;\r
- jqStage.append( ELM_WRAPPER);\r
- ELM_WRAPPER.className = ELM_ITEM_CLASSNAME +'-focus';\r
- this.onShow && setTimeout( this.onShow, 0);\r
- visible = true;\r
- },\r
- hide: function(){\r
- if( visible === false) return;\r
- ELM_BAR.appendChild( ELM_WRAPPER);\r
- ELM_WRAPPER.className = ELM_ITEM_CLASSNAME;\r
- this.onHide && setTimeout( this.onHide, 0);\r
- visible = false;\r
- },\r
- createSelection: function( title, shortcut, callback, visible, separateBefore, separateAfter){\r
- var ret = MenubarSelectionClass.apply( {}, [ ELM_SELECTION, title, shortcut, visible, separateAfter]),\r
- before = SELECTION_CALLBACK_ARRAY.length > 0 ? SELECTION_CALLBACK_ARRAY[ SELECTION_CALLBACK_ARRAY.length -1] : null;\r
- SELECTION_CALLBACK_ARRAY.push( callback);\r
- if( before !== null && ( separateBefore === true || before.separateAfter === true)){\r
- ret.elm.style.borderTop = '1px solid #ccc';\r
- }\r
- return ret;\r
+ };\r
+ this.init = function(){\r
+ $( ELM_SELECTION ).children( 'li' ).click( instance.onClick );\r
+ delete instance.init;\r
+ };\r
+ this.show = function(){\r
+ if( visible === true ) return;\r
+ jqStage.append( ELM_WRAPPER );\r
+ ELM_WRAPPER.className = ELM_ITEM_CLASSNAME + '-focus';\r
+ instance.onShow && setTimeout( instance.onShow, 0 );\r
+ visible = true;\r
+ };\r
+ this.hide = function(){\r
+ if( visible === false ) return;\r
+ ELM_BAR.appendChild( ELM_WRAPPER );\r
+ ELM_WRAPPER.className = ELM_ITEM_CLASSNAME;\r
+ instance.onHide && setTimeout( instance.onHide, 0 );\r
+ visible = false;\r
+ };\r
+ this.createSelection = function( title, shortcut, callback, visible, separateBefore, separateAfter ){\r
+ var ret = new MenubarSelectionClass( ELM_SELECTION, title, shortcut, visible, separateAfter ),\r
+ before = SELECTION_CALLBACK_ARRAY.length > 0 ? SELECTION_CALLBACK_ARRAY[ SELECTION_CALLBACK_ARRAY.length -1 ] : null;\r
+ SELECTION_CALLBACK_ARRAY.push( callback );\r
+ if( before !== null && ( separateBefore === true || before.separateAfter === true )){\r
+ ret.elm.style.borderTop = '1px solid #ccc';\r
}\r
- }\r
- }\r
+ return ret;\r
+ };\r
+ };\r
\r
\r
- function createMenubarItem( title){\r
- var _item = new MenuBarItemClass( title);\r
- ITEM_ARRAY.push( _item);\r
+ function createMenubarItem( title ){\r
+ var _item = new MenuBarItemClass( title );\r
+ ITEM_ARRAY.push( _item );\r
return _item;\r
}\r
return {\r
}\r
return true;\r
},\r
- busy: function( _busy){\r
+ busy: function( _busy ){\r
return false;\r
},\r
- onWindowResize: function( _windowW, _windowH){\r
+ onWindowResize: function( _windowW, _windowH ){\r
\r
},\r
- QUIT: createMenubarItem( 'Quit'),\r
- EDIT: createMenubarItem( 'Edit'),\r
- WINDOW: createMenubarItem( 'Window'),\r
- HELP: pettanr.util.extend( createMenubarItem( 'Help'), {\r
- createAjaxSelection: function( callback){\r
- var elmLoading = document.createElement( 'li'),\r
- that = this,\r
- elmSelection = this.elm.getElementsByTagName( 'ul')[ 0];\r
- elmSelection.appendChild( elmLoading);\r
- elmLoading.className = 'loading';\r
- elmLoading.style.height = '90px'; \r
-\r
- this.onShow = callback;\r
- callback = null;\r
- \r
- delete this.createAjaxSelection;\r
- return function(){\r
- elmSelection.removeChild( elmLoading);\r
- $( elmSelection).children( 'li').click( that.onClick);\r
- elmLoading = elmSelection = null;\r
- delete that.onShow;\r
- that = null;\r
- }\r
+ QUIT: createMenubarItem( 'Quit' ),\r
+ EDIT: createMenubarItem( 'Edit' ),\r
+ WINDOW: createMenubarItem( 'Window' ),\r
+ HELP: pettanr.util.extend( createMenubarItem( 'Help' ), {\r
+ createAjaxSelection: function( callback ){\r
+ var elmLoading = document.createElement( 'li' ),\r
+ that = this,\r
+ elmSelection = this.elm.getElementsByTagName( 'ul' )[ 0 ];\r
+ elmSelection.appendChild( elmLoading );\r
+ elmLoading.className = 'loading';\r
+ elmLoading.style.height = '90px'; \r
+\r
+ this.onShow = callback;\r
+ callback = null;\r
+ \r
+ delete this.createAjaxSelection;\r
+ return function(){\r
+ elmSelection.removeChild( elmLoading );\r
+ $( elmSelection ).children( 'li' ).click( that.onClick );\r
+ elmLoading = elmSelection = null;\r
+ delete that.onShow;\r
+ that = null;\r
}\r
- })\r
+ }\r
+ })\r
}\r
})();\r
\r
\r
var jqWindowOrigin,\r
closeButtonWidth;\r
- var WindowClass = function( bodyTempleteID, title, x, y, w, h, visible, CLOSE_BUTTON_ENABLED, RESIZE_BUTTON_ENABLED, minWindowW, minWindowH){\r
+ var WindowClass = function( bodyTempleteID, title, x, y, w, h, visible, CLOSE_BUTTON_ENABLED, RESIZE_BUTTON_ENABLED, minWindowW, minWindowH ){\r
var MOUSE_CURSOR = updateMouseCursor,\r
MENUBAR_SELWCTION = MENU_BAR_CONTROL.WINDOW.createSelection( \r
- ( visible !== true ? 'show ' : 'hide ') +title,\r
+ ( visible !== true ? 'show ' : 'hide ' ) + title,\r
null, onMenuClick, true\r
),\r
jqStage,\r
isDragging = false,\r
isResizing = false,\r
bodyIsTachable = false,\r
- instance;\r
+ instance = this;\r
\r
function onMenuClick(){\r
visible === true ? instance.close() : instance.open();\r
w = _w;\r
h = _h;\r
}\r
- function bodyBackOrForward( isBack){\r
+ function bodyBackOrForward( isBack ){\r
if( !instance) return;\r
if( bodyIsTachable === !isBack) return;\r
elmBodyStyle.position = isBack === true ? 'relative' : 'absolute';\r
e.stopPropagation();\r
return false;\r
}\r
- return {\r
- init: function( jqContainer){\r
- /*\r
- * setTimeout で呼ばれるグローバルメソッド内では、this でなく instance を使う.\r
- */\r
- instance = this;\r
- \r
- jqWindowOrigin = jqWindowOrigin || ( function(){\r
- return $( $( '#windowTemplete').remove().html());\r
- })();\r
- closeButtonWidth = closeButtonWidth || ( function(){\r
- return pettanr.util.getElementSize( jqWindowOrigin.clone( true).find( '.window-close-button').get( 0)).width;\r
- })();\r
- \r
- jqStage = jqEditor;\r
- this.$ = jqWrapper = jqWindowOrigin.clone( true);\r
- jqHeader = jqWrapper.children( '.window-header').eq( 0).html( title);\r
- headerH = pettanr.util.getElementSize( jqHeader.get( 0)).height;\r
- elmBody = jqWrapper.children( '.window-body').get( 0);\r
- elmBodyStyle = elmBody.style;\r
- \r
- if( bodyTempleteID) {\r
- jqWrapper.find( '.window-body-insert-position').replaceWith( $( $( '#' +bodyTempleteID).remove().html()));\r
- } else {\r
- jqWrapper.find( '.window-body-insert-position').remove();\r
- }\r
- CLOSE_BUTTON_ENABLED !== true && jqWrapper.find( '.window-close-button').remove();\r
- \r
- this.onInit && this.onInit();\r
- delete this.init;\r
- },\r
- x: function(){ return x;},\r
- y: function(){ return y;},\r
- w: function(){ return w;},\r
- h: function(){ return h;},\r
- $: null,\r
- title: function( _title){\r
- typeof _title === 'string' && jqHeader.html( _title);\r
- title = typeof _title === 'string' ? _title : title;\r
- return title;\r
- },\r
- visible: visible,\r
- firstOpen: function(){\r
- if( RESIZE_BUTTON_ENABLED === true){\r
- footerH = pettanr.util.getElementSize( jqWrapper.find( '.window-footer').get( 0)).height;\r
- //jqWrapper.find( '.window-resize-button').eq( 0).mousedown( onWindowResize);\r
- } else {\r
- jqWrapper.find( '.window-footer').remove();\r
- }\r
- this.onFirstOpen && this.onFirstOpen( w, h -headerH -footerH);\r
- \r
- update( x, y, w, h);\r
- \r
- delete this.firstOpen;\r
- },\r
- open: function(){\r
- if( visible === true) return;\r
- instance.visible = visible = true;\r
- openWindow( instance);\r
- MENUBAR_SELWCTION.title( 'hide ' +title);\r
- \r
- for( var i=0, l = WINDOW_ARRAY.length; i<l; ++i){\r
- if( WINDOW_ARRAY[ i] === instance){\r
- WINDOW_ARRAY.splice( i, 1);\r
- WINDOW_ARRAY.unshift( instance);\r
- currentWindow = null;\r
- currentWindowIndex = -1;\r
- }\r
- }\r
- },\r
- onFadeIn: function(){\r
- instance.firstOpen && instance.firstOpen();\r
- instance.onOpen && setTimeout( callOnOpen, 0);\r
- function callOnOpen(){\r
- instance.onOpen( w, bodyH);\r
- }\r
- },\r
- onFadeOut: function(){\r
- var elmWrapper = jqWrapper.get(0);\r
- elmWrapper.parentNode.removeChild( elmWrapper);\r
- instance.onClose && setTimeout( instance.onClose, 0);\r
- },\r
- close: function(){\r
- if( visible === false) return;\r
- instance.visible = visible = false;\r
- jqWrapper.fadeOut( instance.onFadeOut);\r
- MENUBAR_SELWCTION.title( 'show ' +title);\r
- },\r
- bodyBackOrForward: bodyBackOrForward,\r
- onMouseDown: function( _mouseX, _mouseY){\r
- if( RESIZE_BUTTON_ENABLED === true && x +w -20 <= _mouseX && _mouseX < x +w && y +headerH +bodyH < _mouseY && _mouseY <= y +h){\r
- bodyBackOrForward( true);\r
- isResizing = true;\r
- startX = x;\r
- startY = y;\r
- startW = w;\r
- startH = h;\r
- offsetX = _mouseX;\r
- offsetY = _mouseY;\r
- MOUSE_CURSOR( 'nw-resize');\r
- return;\r
- }\r
- \r
- if( x > _mouseX || y > _mouseY || x +w < _mouseX || y +headerH < _mouseY ) return;\r
- if( CLOSE_BUTTON_ENABLED === true && x +w -closeButtonWidth < _mouseX){\r
- instance.close();\r
- return;\r
- }\r
- \r
- isDragging = true;\r
- MOUSE_CURSOR( 'move'); \r
+ this.init = function( jqContainer ){\r
+ jqWindowOrigin = jqWindowOrigin || ( function(){\r
+ return $( $( '#windowTemplete').remove().html());\r
+ })();\r
+ closeButtonWidth = closeButtonWidth || ( function(){\r
+ return pettanr.util.getElementSize( jqWindowOrigin.clone( true).find( '.window-close-button').get( 0)).width;\r
+ })();\r
+ \r
+ jqStage = jqEditor;\r
+ instance.$ = jqWrapper = jqWindowOrigin.clone( true);\r
+ jqHeader = jqWrapper.children( '.window-header').eq( 0).html( title);\r
+ headerH = pettanr.util.getElementSize( jqHeader.get( 0)).height;\r
+ elmBody = jqWrapper.children( '.window-body').get( 0);\r
+ elmBodyStyle = elmBody.style;\r
+ \r
+ if( bodyTempleteID) {\r
+ jqWrapper.find( '.window-body-insert-position').replaceWith( $( $( '#' +bodyTempleteID).remove().html()));\r
+ } else {\r
+ jqWrapper.find( '.window-body-insert-position').remove();\r
+ }\r
+ CLOSE_BUTTON_ENABLED !== true && jqWrapper.find( '.window-close-button').remove();\r
+ \r
+ instance.onInit && instance.onInit();\r
+ delete instance.init;\r
+ };\r
+ this.x = function(){ return x;};\r
+ this.y = function(){ return y;};\r
+ this.w = function(){ return w;};\r
+ this.h = function(){ return h;};\r
+ this.$ = null;\r
+ this.title = function( _title ){\r
+ if( Type.isString( _title ) === true ){\r
+ jqHeader.html( _title );\r
+ title = _title;\r
+ }\r
+ return title;\r
+ };\r
+ this.visible = visible;\r
+ this.firstOpen = function(){\r
+ if( RESIZE_BUTTON_ENABLED === true){\r
+ footerH = pettanr.util.getElementSize( jqWrapper.find( '.window-footer' ).get( 0 ) ).height;\r
+ } else {\r
+ jqWrapper.find( '.window-footer').remove();\r
+ }\r
+ instance.onFirstOpen && instance.onFirstOpen( w, h - headerH - footerH );\r
+ \r
+ update( x, y, w, h);\r
+ \r
+ delete instance.firstOpen;\r
+ };\r
+ this.open = function(){\r
+ if( visible === true) return;\r
+ instance.visible = visible = true;\r
+ openWindow( instance);\r
+ MENUBAR_SELWCTION.title( 'hide ' +title);\r
+ \r
+ for( var i=0, l = WINDOW_ARRAY.length; i<l; ++i){\r
+ if( WINDOW_ARRAY[ i] === instance){\r
+ WINDOW_ARRAY.splice( i, 1);\r
+ WINDOW_ARRAY.unshift( instance);\r
+ currentWindow = null;\r
+ currentWindowIndex = -1;\r
+ };\r
+ };\r
+ };\r
+ this.onFadeIn = function(){\r
+ instance.firstOpen && instance.firstOpen();\r
+ instance.onOpen && setTimeout( callOnOpen, 0);\r
+ function callOnOpen(){\r
+ instance.onOpen( w, bodyH );\r
+ };\r
+ };\r
+ this.onFadeOut = function(){\r
+ var elmWrapper = jqWrapper.get(0);\r
+ elmWrapper.parentNode.removeChild( elmWrapper);\r
+ instance.onClose && setTimeout( instance.onClose, 0);\r
+ };\r
+ this.close = function(){\r
+ if( visible === false) return;\r
+ instance.visible = visible = false;\r
+ jqWrapper.fadeOut( instance.onFadeOut);\r
+ MENUBAR_SELWCTION.title( 'show ' +title);\r
+ };\r
+ this.bodyBackOrForward = bodyBackOrForward;\r
+ this.onMouseDown = function( _mouseX, _mouseY ){\r
+ if( RESIZE_BUTTON_ENABLED === true && x + w -20 <= _mouseX && _mouseX < x + w && y + headerH + bodyH < _mouseY && _mouseY <= y + h ){\r
+ bodyBackOrForward( true);\r
+ isResizing = true;\r
startX = x;\r
startY = y;\r
startW = w;\r
startH = h;\r
offsetX = _mouseX;\r
offsetY = _mouseY;\r
- },\r
- onMouseUp: function( _mouseX, _mouseY){\r
- isDragging = isResizing = false;\r
- MOUSE_CURSOR( '');\r
- },\r
- onMouseMove: function( _mouseX, _mouseY){\r
- var _updateX = _mouseX -offsetX,\r
- _updateY = _mouseY -offsetY;\r
- \r
- if( isResizing === true){\r
- var _w = startW +_updateX,\r
- _h = startH +_updateY;\r
- update( startX, startY, _w < minWindowW ? minWindowW : _w, _h < minWindowH ? minWindowH : _h);\r
- return;\r
- } else\r
- if( isDragging === true) {\r
- update( startX +_updateX, startY +_updateY);\r
- return;\r
- } else\r
- if( x > _mouseX || x +w < _mouseX ) return;\r
- \r
- ( y <= _mouseY && y +headerH >= _mouseY ) ?\r
- MOUSE_CURSOR( 'pointer') : // hit to header\r
- MOUSE_CURSOR( '');\r
- bodyBackOrForward( y +headerH > _mouseY || y +headerH +bodyH < _mouseY);\r
- },\r
- onMouseOut: function( _mouseX, _mouseY){\r
- bodyIsTachable === true && bodyBackOrForward( true);\r
- isDragging = false;\r
- MOUSE_CURSOR( '');\r
- },\r
- busy: function(){\r
- return isDragging === true || isResizing === true;\r
- },\r
- bodyHeight: function(){\r
- return bodyH;\r
+ MOUSE_CURSOR( 'nw-resize');\r
+ return;\r
}\r
- }\r
+ \r
+ if( x > _mouseX || y > _mouseY || x + w < _mouseX || y + headerH < _mouseY ) return;\r
+ if( CLOSE_BUTTON_ENABLED === true && x + w - closeButtonWidth < _mouseX){\r
+ instance.close();\r
+ return;\r
+ }\r
+ \r
+ isDragging = true;\r
+ MOUSE_CURSOR( 'move'); \r
+ startX = x;\r
+ startY = y;\r
+ startW = w;\r
+ startH = h;\r
+ offsetX = _mouseX;\r
+ offsetY = _mouseY;\r
+ };\r
+ this.onMouseUp = function( _mouseX, _mouseY ){\r
+ isDragging = isResizing = false;\r
+ MOUSE_CURSOR( '');\r
+ };\r
+ this.onMouseMove = function( _mouseX, _mouseY ){\r
+ var _updateX = _mouseX - offsetX,\r
+ _updateY = _mouseY - offsetY;\r
+ \r
+ if( isResizing === true){\r
+ var _w = startW +_updateX,\r
+ _h = startH +_updateY;\r
+ update( startX, startY, _w < minWindowW ? minWindowW : _w, _h < minWindowH ? minWindowH : _h );\r
+ return;\r
+ } else\r
+ if( isDragging === true) {\r
+ update( startX + _updateX, startY + _updateY);\r
+ return;\r
+ } else\r
+ if( x > _mouseX || x + w < _mouseX ) return;\r
+\r
+ ( y <= _mouseY && y +headerH >= _mouseY ) ?\r
+ MOUSE_CURSOR( 'pointer') : // hit to header\r
+ MOUSE_CURSOR( '');\r
+ bodyBackOrForward( y + headerH > _mouseY || y + headerH + bodyH < _mouseY);\r
+ };\r
+ this.onMouseOut = function( _mouseX, _mouseY ){\r
+ bodyIsTachable === true && bodyBackOrForward( true );\r
+ isDragging = false;\r
+ MOUSE_CURSOR( '' );\r
+ };\r
+ this.busy = function(){\r
+ return isDragging === true || isResizing === true;\r
+ };\r
+ this.bodyHeight = function(){\r
+ return bodyH;\r
+ };\r
};\r
\r
- function getCurrentIndex( _mouseX, _mouseY){\r
- if( currentWindow && currentWindow.busy() === true) return currentWindowIndex;\r
+ function getCurrentIndex( _mouseX, _mouseY ){\r
+ if( currentWindow && currentWindow.busy() === true ) return currentWindowIndex;\r
var l = WINDOW_ARRAY.length,\r
_currentWindow = null,\r
_win, _x, _y;\r
currentWindow = _currentWindow;\r
return currentWindowIndex;\r
}\r
- function openWindow( _window){\r
+ function openWindow( _window ){\r
if( _window.visible !== true) return;\r
var _jqWindow = _window.$;\r
jqContainer.append( _jqWindow);// appendした後に fadeIn() しないと ie で filterが適用されない.\r
* 画面外に出るwindowの移動\r
*/\r
},\r
- createWindow: function( EXTENDS, bodyTempleteID, title, x, y, w, h, opt_visible, opt_closeButtonEnabled, opt_resizeButtonEnabled, opt_minWindowW, opt_minWindowH){\r
+ createWindow: function( EXTENDS, bodyTempleteID, title, x, y, w, h, opt_visible, opt_closeButtonEnabled, opt_resizeButtonEnabled, opt_minWindowW, opt_minWindowH ){\r
opt_visible = opt_visible !== false;\r
opt_closeButtonEnabled = opt_closeButtonEnabled === true;\r
opt_resizeButtonEnabled = opt_resizeButtonEnabled === true;\r
- opt_minWindowW = opt_minWindowW || ( w < DEFAULT_MIN_WINDOW_WIDTH) ? w : DEFAULT_MIN_WINDOW_WIDTH;\r
- opt_minWindowH = opt_minWindowH || ( h < DEFAULT_MIN_WINDOW_HEIGHT) ? h : DEFAULT_MIN_WINDOW_HEIGHT;\r
+ opt_minWindowW = opt_minWindowW || ( w < DEFAULT_MIN_WINDOW_WIDTH ) ? w : DEFAULT_MIN_WINDOW_WIDTH;\r
+ opt_minWindowH = opt_minWindowH || ( h < DEFAULT_MIN_WINDOW_HEIGHT ) ? h : DEFAULT_MIN_WINDOW_HEIGHT;\r
\r
- var _window = pettanr.util.extend(\r
- new WindowClass(\r
- bodyTempleteID, title, x, y, w, h, opt_visible, opt_closeButtonEnabled, opt_resizeButtonEnabled, opt_minWindowW, opt_minWindowH\r
- ),\r
- EXTENDS\r
- );\r
- WINDOW_ARRAY.unshift( _window);\r
- WINDOWS_CONTROL.init === undefined && _window.init( jqContainer);\r
- WINDOWS_CONTROL.init === undefined && openWindow( _window);\r
+ var _window = new WindowClass( bodyTempleteID, title, x, y, w, h, opt_visible, opt_closeButtonEnabled, opt_resizeButtonEnabled, opt_minWindowW, opt_minWindowH );\r
+ for( var key in EXTENDS ){\r
+ _window[ key ] = EXTENDS[ key ];\r
+ }\r
+ WINDOW_ARRAY.unshift( _window );\r
+ if( Type.isUndefined( WINDOWS_CONTROL.init ) === true ){\r
+ _window.init( jqContainer );\r
+ openWindow( _window );\r
+ }\r
return _window;\r
}\r
}\r
instance = this;\r
delete this.onInit;\r
},\r
- onOpen: function( _w, _h){\r
+ onOpen: function( _w, _h ){\r
finder = finder || pettanr.finder.createFinder(\r
pettanr.editor,\r
document.getElementById( 'image-exproler-container'),\r
inputPercentW = CREATER( document.getElementById( 'comic-element-w-percent'), null, TAB_GROUP_ID);\r
inputPercentH = CREATER( document.getElementById( 'comic-element-h-percent'), null, TAB_GROUP_ID);\r
inputAspectRatio = $( '#comic-element-keep-aspect');\r
- delete this.onFirstOpen;\r
+ delete INFOMATION_WINDOW.onFirstOpen;\r
},\r
onResize: function( _w, _h){\r
jqComicElementInformation.css( {\r
_elementType === 1 && inputA.value( a);\r
inputW.value( w);\r
inputH.value( h);\r
- _elementType === 0 && inputPercentW.value( wPercent);\r
- _elementType === 0 && inputPercentH.value( hPercent); \r
+ _elementType === 0 && inputPercentW.value( wPercent );\r
+ _elementType === 0 && inputPercentH.value( hPercent );\r
} else {\r
\r
}\r
},\r
- lock: function( _currentLock){\r
+ lock: function( _currentLock ){\r
currentLock = !!_currentLock;\r
- this.bodyBackOrForward( !currentLock);\r
+ INFOMATION_WINDOW.bodyBackOrForward( !currentLock );\r
}\r
},\r
'infomation-window', 'Infomation', 0, 30, 200, 180, true\r
jqNaviItems,\r
jqPages,\r
currentPageIndex = 0,\r
- numPage = 0,\r
- HELP = MENU_BAR_CONTROL.HELP,\r
- onLoadFunction = HELP.createAjaxSelection( onAjaxStart),\r
- instance;\r
+ numPage = 0,\r
+ HELP = MENU_BAR_CONTROL.HELP,\r
+ onLoadFunction = HELP.createAjaxSelection( onAjaxStart );\r
\r
- function onAjaxStart( _pageIndex){\r
+ function onAjaxStart( _pageIndex ){\r
currentPageIndex = _pageIndex || currentPageIndex;\r
- if( onHelpLoad !== null){\r
+ if( onHelpLoad !== null ){\r
$.ajax({\r
url: 'help/jp.xml',\r
dataType: 'xml',\r
}\r
onAjaxStart = new Function;\r
}\r
- var onHelpLoad = function( _xml){\r
- var jqXML = $( _xml),\r
- helpTitle = jqXML.find( 'pages').eq( 0).attr( 'title'),\r
- elmNavi = document.createElement( 'div'),\r
- elmItemOrigin = document.createElement( 'a'),\r
- elmPages = document.createElement( 'div'),\r
- elmPageOrigin = document.createElement( 'div'),\r
- elmTitleOrigin = document.createElement( 'h2'),\r
+ var onHelpLoad = function( _xml ){\r
+ var jqXML = $( _xml ),\r
+ helpTitle = jqXML.find( 'pages' ).eq( 0 ).attr( 'title' ),\r
+ elmNavi = document.createElement( 'div' ),\r
+ elmItemOrigin = document.createElement( 'a' ),\r
+ elmPages = document.createElement( 'div' ),\r
+ elmPageOrigin = document.createElement( 'div' ),\r
+ elmTitleOrigin = document.createElement( 'h2' ),\r
elmPage;\r
- elmNavi.className = 'sidenavi';\r
+ elmNavi.className = 'sidenavi';\r
elmItemOrigin.className = 'sidenavi-item';\r
- elmItemOrigin.href = '#';\r
- elmPages.className = 'page-contents';\r
+ elmItemOrigin.href = '#';\r
+ elmPages.className = 'page-contents';\r
elmPageOrigin.className = 'page-content main';\r
elmPageOrigin.appendChild( elmTitleOrigin);\r
\r
- //helpTitle && instance.title( helpTitle);\r
- \r
- jqXML.find( 'page').each( function(){\r
- var xmlPage = $( this),\r
- title = xmlPage.attr( 'title'),\r
+ jqXML.find( 'page' ).each( function(){\r
+ var xmlPage = $( this ),\r
+ title = xmlPage.attr( 'title' ),\r
content = xmlPage.text();\r
\r
elmItemOrigin.innerHTML = title;\r
- elmNavi.appendChild( elmItemOrigin.cloneNode( true));\r
+ elmNavi.appendChild( elmItemOrigin.cloneNode( true ));\r
\r
elmTitleOrigin.innerHTML = title;\r
\r
- elmPage = elmPageOrigin.cloneNode( true);\r
+ elmPage = elmPageOrigin.cloneNode( true );\r
elmPage.innerHTML = content;\r
\r
pettanr.util.cleanElement( elmPage);\r
\r
- if( elmPage.childNodes.length > 0){\r
- elmPage.insertBefore( elmTitleOrigin.cloneNode( true), elmPage.childNodes[0]);\r
+ if( elmPage.childNodes.length > 0 ){\r
+ elmPage.insertBefore( elmTitleOrigin.cloneNode( true ), elmPage.childNodes[0]);\r
} else {\r
- elmPage.appendChild( elmTitleOrigin.cloneNode( true));\r
+ elmPage.appendChild( elmTitleOrigin.cloneNode( true ));\r
}\r
- elmPages.appendChild( elmPage);\r
+ elmPages.appendChild( elmPage );\r
\r
- HELP.createSelection( title, null, onSelectionClick, true);\r
+ HELP.createSelection( title, null, onSelectionClick, true );\r
++numPage;\r
});\r
onLoadFunction();\r
onLoadFunction = null;\r
\r
- jqAjaxContents.removeClass( 'loading').append( elmNavi, elmPages);\r
+ jqAjaxContents.removeClass( 'loading' ).append( elmNavi, elmPages );\r
\r
- jqNaviItems = jqAjaxContents.find( 'a.' +elmItemOrigin.className).click( onNaviClick);\r
- jqPages = jqAjaxContents.find( '.page-content');\r
- jqPages.find( 'a').click( onInnerLinkClick);\r
+ jqNaviItems = jqAjaxContents.find( 'a.' + elmItemOrigin.className ).click( onNaviClick );\r
+ jqPages = jqAjaxContents.find( '.page-content' );\r
+ jqPages.find( 'a').click( onInnerLinkClick );\r
\r
- setTimeout( jumpPage, 0);\r
+ setTimeout( jumpPage, 0 );\r
}\r
- function onSelectionClick( _pageIndex){\r
+ function onSelectionClick( _pageIndex ){\r
HELP_DOCUMENTS_WINDOW.open();\r
- jumpPage( _pageIndex);\r
+ jumpPage( _pageIndex );\r
}\r
- function jumpPage( _index){\r
- if( typeof _index === 'number' && 0 <= _index && _index < numPage && currentPageIndex !== _index){\r
+ function jumpPage( _index ){\r
+ if( typeof _index === 'number' && 0 <= _index && _index < numPage && currentPageIndex !== _index ){\r
currentPageIndex = _index;\r
}\r
- jqNaviItems.removeClass( 'current').eq( currentPageIndex).addClass( 'current');\r
- jqPages.hide().eq( currentPageIndex).show();\r
+ jqNaviItems.removeClass( 'current' ).eq( currentPageIndex).addClass( 'current' );\r
+ jqPages.hide().eq( currentPageIndex ).show();\r
}\r
- function onNaviClick( e){\r
+ function onNaviClick( e ){\r
// this は <a>\r
- jumpPage( pettanr.util.getChildIndex( this.parentNode, this));\r
+ jumpPage( pettanr.util.getChildIndex( this.parentNode, this ));\r
e.stopPropagation();\r
return false;\r
}\r
- function onInnerLinkClick( e){\r
- var jump = ( this.href || '').split( '#jump'),\r
+ function onInnerLinkClick( e ){\r
+ var jump = ( this.href || '').split( '#jump' ),\r
n = jump[1];\r
if( !n) return;\r
- jumpPage( '' + parseFloat( n) === n ? parseFloat( n) : -1);\r
+ jumpPage( '' + parseFloat( n ) === n ? parseFloat( n ) : -1 );\r
e.stopPropagation();\r
return false; \r
}\r
return WINDOWS_CONTROL.createWindow(\r
{\r
onInit: function(){\r
- instance = this;\r
- jqAjaxContents = this.$.find( '.window-body').addClass( 'loading');\r
- delete this.onInit;\r
+ jqAjaxContents = HELP_DOCUMENTS_WINDOW.$.find( '.window-body' ).addClass( 'loading' );\r
+ delete HELP_DOCUMENTS_WINDOW.onInit;\r
},\r
- onFirstOpen: function( _w, _h){\r
- jqAjaxContents.css( { height: _h});\r
+ onFirstOpen: function( _w, _h ){\r
+ jqAjaxContents.css( { height: _h });\r
onAjaxStart();\r
- delete this.onFirstOpen;\r
+ delete HELP_DOCUMENTS_WINDOW.onFirstOpen;\r
},\r
- onResize: function( _w, _h){\r
- jqAjaxContents && jqAjaxContents.css( { height: _h});\r
+ onResize: function( _w, _h ){\r
+ jqAjaxContents && jqAjaxContents.css( { height: _h });\r
}\r
},\r
null, 'Help', 0, 215, 400, 350, false, true, true, 300, 300\r
* - panelResizeListener\r
*/\r
var GRID_CONTROL = ( function(){\r
- var ELM_GRID = document.getElementById( 'grid'),\r
+ var ELM_GRID = document.getElementById( 'grid' ),\r
BG_URL = "url('images/grid.gif')",\r
jqGrid,\r
visible = false;\r
\r
return {\r
init: function(){\r
- jqGrid = $( ELM_GRID);\r
+ jqGrid = $( ELM_GRID );\r
delete GRID_CONTROL.init;\r
},\r
open: function(){\r
close: function(){\r
\r
},\r
- onPanelResize: function( _panelX, _panelY){\r
- ELM_GRID.style.backgroundPosition = [ _panelX % 10, 'px ', _panelY % 10, 'px'].join( '');\r
+ onPanelResize: function( _panelX, _panelY ){\r
+ ELM_GRID.style.backgroundPosition = [ _panelX % 10, 'px ', _panelY % 10, 'px' ].join( '' );\r
ELM_GRID.style.height = windowH +'px';\r
},\r
enabled: function(){\r
jqGrid.css( {\r
opacity: '',\r
fliter: ''\r
- }).stop()[ visible === true ? 'fadeOut' : 'fadeIn']();\r
+ }).stop()[ visible === true ? 'fadeOut' : 'fadeIn' ]();\r
\r
visible = !visible;\r
\r