Просмотр исходного кода

Merge pull request #70 from johnnyt/master

Added a 'Local' package button to commit a package to HTML5 localStorage
Nicolas Petton 12 лет назад
Родитель
Сommit
0a9cb157e6
4 измененных файлов с 29 добавлено и 9 удалено
  1. 9 2
      css/amber.css
  2. 1 1
      js/IDE.deploy.js
  3. 1 1
      js/IDE.js
  4. 18 5
      st/IDE.st

+ 9 - 2
css/amber.css

@@ -264,17 +264,24 @@ body.jtalkBody {
     z-index: 1;
 }
 
+.jtalkTool .jt_commit_local {
+    position: absolute;
+    top: 129px;
+    left: 60px;
+    z-index: 1;
+}
+
 .jtalkTool .jt_rename {
     position: absolute;
     top: 129px;
-    left: 90px;
+    left: 105px;
     z-index: 1;
 }
 
 .jtalkTool .jt_delete {
     position: absolute;
     top: 129px;
-    left: 185px;
+    left: 165px;
     z-index: 1;
 }
 

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
js/IDE.deploy.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
js/IDE.js


+ 18 - 5
st/IDE.st

@@ -410,7 +410,7 @@ clear
 ! !
 
 TabWidget subclass: #Browser
-	instanceVariableNames: 'selectedPackage selectedClass selectedProtocol selectedMethod commitButton packagesList classesList protocolsList methodsList sourceArea tabsList selectedTab saveButton classButtons methodButtons unsavedChanges renameButton deleteButton'
+	instanceVariableNames: 'selectedPackage selectedClass selectedProtocol selectedMethod commitButton packagesList classesList protocolsList methodsList sourceArea tabsList selectedTab saveButton classButtons methodButtons unsavedChanges renameButton deleteButton commitLocalButton'
 	category: 'IDE'!
 
 !Browser methodsFor: 'accessing'!
@@ -800,6 +800,14 @@ removePackage
 	ifTrue: [
 	    Smalltalk current removePackage: selectedPackage.
 	    self updateCategoriesList]
+!
+
+commitPackageToLocalStorage
+	| key sourceCode |
+	selectedPackage ifNotNil: [
+          	key := 'smalltalk.packages.' , selectedPackage.
+		sourceCode := (Exporter new exportPackage: selectedPackage).
+		<localStorage[key] = sourceCode>]
 ! !
 
 !Browser methodsFor: 'initialization'!
@@ -828,17 +836,22 @@ renderTopPanelOn: html
 		class: 'jt_commit';
 		title: 'Commit classes in this package to disk';
 		onClick: [self commitPackage];
-		with: 'Commit package'.
+		with: 'Commit'.
+            commitLocalButton := html button 
+		class: 'jt_commit_local';
+		title: 'Commit classes in this package to local storage';
+		onClick: [self commitPackageToLocalStorage];
+		with: 'Local'.
             renameButton := html button 
 		class: 'jt_rename';
-		title: 'Rename this package';
+		title: 'Rename package';
 		onClick: [self renamePackage];
-		with: 'Rename package'.
+		with: 'Rename'.
             deleteButton := html button 
 		class: 'jt_delete';
 		title: 'Remove this package from the system';
 		onClick: [self removePackage];
-		with: 'Remove package'.
+		with: 'Remove'.
 	    classesList := ClassesList on: self.
 	    classesList renderOn: html.
 	    protocolsList := html ul class: 'jt_column browser protocols'.

Некоторые файлы не были показаны из-за большого количества измененных файлов