diff --git a/Plugins/org.mitk.gui.qt.extapplication/files.cmake b/Plugins/org.mitk.gui.qt.extapplication/files.cmake index 77328988e7..0199cf6fb6 100644 --- a/Plugins/org.mitk.gui.qt.extapplication/files.cmake +++ b/Plugins/org.mitk.gui.qt.extapplication/files.cmake @@ -1,40 +1,41 @@ set(SRC_CPP_FILES ) set(INTERNAL_CPP_FILES QmitkExtApplication.cpp QmitkExtApplicationPlugin.cpp QmitkExtAppWorkbenchAdvisor.cpp QmitkExtDefaultPerspective.cpp ) set(MOC_H_FILES src/internal/QmitkExtApplication.h src/internal/QmitkExtApplicationPlugin.h src/internal/QmitkExtDefaultPerspective.h ) set(CACHED_RESOURCE_FILES # list of resource files which can be used by the plug-in # system without loading the plug-ins shared library, # for example the icon used in the menu and tabs for the # plug-in views in the workbench plugin.xml resources/icon_research.xpm ) set(QRC_FILES # uncomment the following line if you want to use Qt resources # resources/QmitkExtApplication.qrc +resources/welcome/QmitkWelcomeScreenView.qrc ) set(CPP_FILES ) foreach(file ${SRC_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/${file}) endforeach(file ${SRC_CPP_FILES}) foreach(file ${INTERNAL_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/internal/${file}) endforeach(file ${INTERNAL_CPP_FILES}) diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/QmitkWelcomeScreenView.qrc b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/QmitkWelcomeScreenView.qrc new file mode 100644 index 0000000000..c24d388671 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/QmitkWelcomeScreenView.qrc @@ -0,0 +1,12 @@ + + + style.css + function.js + pics/background.jpg + pics/popup_bttn_close.png + pics/experimental.png + pics/button_mitka.png + pics/button_mitk.png + mitkworkbenchwelcomeview.html + + diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/function.js b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/function.js new file mode 100644 index 0000000000..513330f719 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/function.js @@ -0,0 +1,257 @@ +// If you want to create a new button you have to add some data (strings) to the following five arrays. +// Make sure that you add your data at the same position in each array. +// The buttons will be generated in order to the array's index. e.g. data at array's index '0' will generate the first button. + +// enter the name of your module here +var moduleNames = new Array("MITK Downloads & News"); + +// add the MITK-link to your module +var moduleLinks = new Array("http://www.mitk.org"); + +// add the filename of your icon for the module. Place the picture in subdirectory "pics". +// The picture's width should be 136 pixel; the height 123 pixel. +var picFilenames = new Array("button_mitk.png"); + +// if you want to create an animated icon, add the name of your animated gif (placed in subdirectory "pics"). Otherwise enter an empty string "". +// The animation's width should be 136 pixel; the height 123 pixel. +var aniFilenames = new Array("button_mitka.png"); + +// if your module is not stable, you can mark it as experimental. +// just set true for experimental or false for stable. +var experimental = new Array(false); + +// add the description for your module. The description is displayed in a PopUp-window. +var moduleDescriptions = new Array("Open the MITK website in an external browser."); + +var bttns = new Array(); + +var d = document, da = d.all; + +// holds id of current mouseover-HTML-element +var currentTarget; + +// get the id of current mouseover-HTML-element +d.onmouseover = function(o){ + var e = da ? event.srcElement : o.target; + currentTarget = e.id; +} + + +// build-function called by onload-event in HTML-document +function createButtons(){ + + for (i=0; i < moduleNames.length; i++){ + bttns[i] = new Button(moduleNames[i],moduleLinks[i], picFilenames[i], aniFilenames[i],moduleDescriptions[i]); + bttns[i].createButton(); + } + + for (i=0; i < moduleNames.length; i++){ + + if(experimental[i]){ + setExperimental(i); + } + } + + createClearFloat(); +} + +// Class Button +function Button(moduleName, moduleLink, picFilename, aniFilename, moduleDescr){ + + // Properties + this.bttnID = "bttn" + moduleName; + this.modName = moduleName; + this.modLink = moduleLink; + this.picPath = "pics/" + picFilename; + this.aniPath = "pics/" + aniFilename; + this.modDescr = moduleDescr; + + // Methods + this.createButton = function(){ + + // get DIV-wrapper for Button and append it to HTML-document + bttnWrapper = this.createWrapper(); + document.getElementById("bttnField").appendChild(bttnWrapper); + + // get link-element for picture and append it to DIV-wrapper + bttnPicLink = this.createPicLink(); + bttnWrapper.appendChild(bttnPicLink); + + // set HTML attributes for button-element + bttn = document.createElement("img"); + bttn.src = this.picPath; + bttn.id = this.bttnID; + bttn.className = "modBttn"; + bttn.height = 123; + bttn.width = 136; + bttn.onmouseover = function(){startAni(this.id);}; + bttn.onmouseout = function(){stopAni(this.id);}; + + // append button to link-element + bttnPicLink.appendChild(bttn); + + // create text-link and add it to DIV-wrapper + bttnTxtLink = document.createElement("a"); + bttnTxtLink.href = this.modLink; + bttnTxtLink.className = "txtLink"; + bttnTxtLink.appendChild(document.createTextNode(this.modName)); + bttnWrapper.appendChild(bttnTxtLink); + + // create pop-up link for module description + bttnPopUpLink = document.createElement("a"); + modName = this.modName; + modDescr = this.modDescr; + bttnPopUpLink.onclick = function(){showPopUpWindow();}; + bttnPopUpLink.className = "popUpLink"; + bttnPopUpLink.id = "popup" + this.modName; + bttnPopUpLink.appendChild(document.createTextNode("more info >>")); + bttnWrapper.appendChild(document.createElement("br")); + bttnWrapper.appendChild(bttnPopUpLink); + + return bttn; + } + + this.createWrapper = function(){ + bttnWrapper = document.createElement("div"); + bttnWrapper.id = "wrapper" + this.modName; + bttnWrapper.className = "bttnWrap"; + + return bttnWrapper; + } + + this.createPicLink = function(){ + picLink = document.createElement("a"); + picLink.href = this.modLink; + picLink.id = "link" + this.modName; + + return picLink; + } + +} + + +function showPopUpWindow(){ + + // modules position in array? + modulePos = getPos(currentTarget,"popup"); + + // get reference to anchor-element in HTML-document + popUpAnchor = document.getElementById("popupAnchor"); + + // check if a popUp is open + if(popUpAnchor.hasChildNodes()){ + // if a popUp is open, remove it! + popUpAnchor.removeChild(document.getElementById("popup")); + } + + // create new container for popUp + container = document.createElement("div"); + container.id = "popup"; + container.align = "right"; + + // append popUp-container to HTML-document + popUpAnchor.appendChild(container); + + // create close-button and append it to popUp-container + bttnClose = document.createElement("img"); + bttnClose.src = "pics/popup_bttn_close.png"; + bttnClose.id = "bttnClose"; + bttnClose.onclick = function(){closeInfoWindow();}; + container.appendChild(bttnClose); + + // create container for content-elements + contHeadline = document.createElement("div"); + contHeadline.id = "contHeadline"; + contDescription = document.createElement("div"); + contDescription.id = "contDescription"; + contModLink = document.createElement("div"); + contModLink.id = "contModLink"; + + // append content-container to popUp-container + container.appendChild(contHeadline); + container.appendChild(contDescription); + container.appendChild(contModLink); + + // create text-elements with content + headline = document.createTextNode(moduleNames[modulePos] + " "); + description = document.createTextNode(moduleDescriptions[modulePos]); + moduleLink = document.createElement("a"); + moduleLink.href = moduleLinks[modulePos] ; + moduleLink.className = 'moduleLink'; + moduleLinkTxt = document.createTextNode("Click here to open '" + moduleNames[modulePos].toLowerCase() + "'"); + moduleLink.appendChild(moduleLinkTxt); + + // append text-elements to their container + contHeadline.appendChild(headline); + contDescription.appendChild(description); + contModLink.appendChild(moduleLink); +} + +function getPos(id,prefix){ + + if(prefix == "popup"){ + targetID = id.slice(5); + }else{ + if(prefix == "bttn"){ + targetID = id.slice(4); + } + } + + for(i=0; i < moduleNames.length; i++ ){ + if(moduleNames[i] == targetID){ + return i; + } + } +} + +function setExperimental(modPos){ + linkID = "link" + moduleNames[modPos]; + + expPic = document.createElement("img"); + expPic.src = "pics/experimental.png"; + expPic.className = "expPic"; + //alert(bttns[modPos].bttnID); + expPic.onmouseover = function(){startAni(bttns[modPos].bttnID);changeToHover(bttns[modPos].bttnID);}; + expPic.onmouseout = function(){stopAni(bttns[modPos].bttnID);changeToNormal(bttns[modPos].bttnID);}; + + document.getElementById(linkID).appendChild(expPic); +} + +function changeToHover(targetId){ + bttn = document.getElementById(targetId); + bttn.className = "modBttnHover"; +} + +function changeToNormal(targetId){ + bttn = document.getElementById(targetId); + bttn.className = "modBttn"; +} + +// function to close PopUp-window +function closeInfoWindow(){ + popUpAnchor = document.getElementById("popupAnchor"); + popUpAnchor.removeChild(document.getElementById("popup")); +} + +function createClearFloat(){ + cf = document.createElement("div"); + cf.className = "clearfloat"; + document.getElementById("bttnField").appendChild(cf); +} + +startAni = function(targetId){ + modulePos = getPos(targetId,"bttn"); + + if(aniFilenames[modulePos] != ''){ + bttn = document.getElementById(targetId); + bttn.src = "pics/" + aniFilenames[modulePos]; + } +} + +stopAni = function(targetId){ + modulePos = getPos(targetId,"bttn"); + + bttn = document.getElementById(targetId); + bttn.src = "pics/" + picFilenames[modulePos]; +} + diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/mitkworkbenchwelcomeview.html b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/mitkworkbenchwelcomeview.html new file mode 100644 index 0000000000..eb16e88264 --- /dev/null +++ b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/mitkworkbenchwelcomeview.html @@ -0,0 +1,37 @@ + + + + + + MITK Workbench + + + + + + +
+ + +
+ +

Welcome to MITK Workbench!

+ + +
+ +
+ This application was developed at the German Cancer Research Center (DKFZ). The software is developed on the basis of the well established, free open source software toolkit The Medical Imaging Interaction Toolkit (MITK). For additional information check the help pages or our website www.mitk.org. +

Instructions:

+
+ +
+ + +
+ +
+ +
+ + diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/background.jpg b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/background.jpg new file mode 100644 index 0000000000..c93f36df92 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/background.jpg differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/button_mitk.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/button_mitk.png new file mode 100644 index 0000000000..821e041d36 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/button_mitk.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/button_mitka.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/button_mitka.png new file mode 100644 index 0000000000..baf4f14a46 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/button_mitka.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/experimental.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/experimental.png new file mode 100644 index 0000000000..b05093ea2e Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/experimental.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg.png new file mode 100644 index 0000000000..9fef73a742 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_bottom.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_bottom.png new file mode 100644 index 0000000000..f181fb97e2 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_bottom.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_middle.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_middle.png new file mode 100644 index 0000000000..fd477da298 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_middle.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_top.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_top.png new file mode 100644 index 0000000000..99424cbbb7 Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bg_top.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bttn_close.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bttn_close.png new file mode 100644 index 0000000000..279e340beb Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/popup_bttn_close.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/shadow.png b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/shadow.png new file mode 100644 index 0000000000..83eda7b89e Binary files /dev/null and b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/pics/shadow.png differ diff --git a/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/style.css b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/style.css new file mode 100644 index 0000000000..55dc94a56b --- /dev/null +++ b/Plugins/org.mitk.gui.qt.extapplication/resources/welcome/style.css @@ -0,0 +1,174 @@ +@charset "utf-8"; + +body{ + margin:0px 0px; + padding: 0px 0px; +} + +h1{ + margin:0px 0px; + padding: 0px 0px; + font-family:"Times New Roman", Times, serif; + color:#333; +} + +img{border:none;} + +#screen{ + width:100%; + min-height:1060px; + height:100%; + padding-top:15px; + background-color:#888888; + background-image:url(pics/background.jpg); + background-repeat:repeat-x; +} + +#welcome{ + min-width:150px; + max-width:690px; + margin: 0 auto; + padding-left:5px; + font-family:"Times New Roman", Times, serif; + color:#333; +} + +#welcomeText{ + margin-top:15px; + margin-bottom:15px; + z-index:1; +} + +#bttnField{ + min-width:150px; + max-width:690px; + margin: 0 auto; + padding-left:5px; +} + +.bttnWrap{ + position:relative; + float:left; + width:140px; + height:190px; + margin-right:32px; + margin-top:5px; + z-index:2; +} + +.modBttn{ + margin-bottom:8px; + border: solid 2px #000; + -webkit-box-shadow: 5px 5px 6px rgba(0,0,0,0.6); +} + +.modBttn:hover{ + border: solid 2px #FFF; + cursor:pointer; + -webkit-box-shadow: none; +} + +.modBttnHover{ + margin-bottom:8px; + border: solid 2px #FFF; + cursor:pointer; + -webkit-box-shadow: none; +} + +.txtLink{ + font-family:"Times New Roman", Times, serif; + font-size:16px; + font-weight:bold; + text-decoration:none; + cursor:pointer; + color:#333; +} + +.txtLink:hover{ + text-decoration:underline; +} + +.popUpLink{ + font-family:"Times New Roman", Times, serif; + font-size:14px; + font-weight:normal; + line-height:16px; + color:#333; +} + +.popUpLink:hover{ + text-decoration:underline; + cursor:pointer; +} + +#popup{ + position:fixed; + max-width:690px; + min-width:150px; + background-color:#000000; + opacity: 0.8; + -webkit-border-radius: 1em; + z-index:3; + font-family:Arial, Helvetica, sans-serif; + color:#FFF; +} + +#bttnClose{ + position:relative; + right:10px; + top:10px; + cursor:pointer; +} + +#contHeadline{ + max-width:690px; + min-width:150px; + margin-left:10px; + margin-right:10px; + font-weight:bold; + font-size:14px; + text-align:left; +} + +#contDescription{ + max-width:690px; + min-width:150px; + margin-top:15px; + margin-bottom:15px; + margin-left:10px; + margin-right:10px; + line-height:21px; + font-family:Arial, Helvetica, sans-serif; + font-weight:normal; + font-size:14px; + text-align:left; +} + +#contModLink{ + max-width:690px; + min-width:150px; + height:50px; + margin-left:10px; + margin-right:10px; + text-align:left; +} + +.moduleLink{ + font-family:Arial, Helvetica, sans-serif; + color:#FFF; +} + +.expPic{ + margin-top:-126px; +} + +.clearfloat{clear:both;} + + + + + + + + +