Support for Absolute Positioning, Snap to Grid, and Inline Table Editing in Composer

r=brade, sr=jst


git-svn-id: svn://10.0.0.236/trunk@144144 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
glazman%netscape.com
2003-06-25 08:50:48 +00:00
parent bb85b5034e
commit 68de2ad1fd
57 changed files with 3777 additions and 682 deletions

View File

@@ -0,0 +1,79 @@
/*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
var gPrefs = GetPrefs();
var gEditor;
// dialog initialization code
function Startup()
{
gEditor = GetCurrentEditor();
if (!gEditor)
{
window.close();
return;
}
gEditor instanceof Components.interfaces.nsIHTMLAbsPosEditor;
gDialog.enableSnapToGrid = document.getElementById("enableSnapToGrid");
gDialog.sizeInput = document.getElementById("size");
gDialog.sizeLabel = document.getElementById("sizeLabel");
gDialog.unitLabel = document.getElementById("unitLabel");
// Initialize control values based on existing attributes
InitDialog()
// SET FOCUS TO FIRST CONTROL
SetTextboxFocus(gDialog.sizeInput);
// Resize window
window.sizeToContent();
SetWindowLocation();
}
// Set dialog widgets with attribute data
// We get them from globalElement copy so this can be used
// by AdvancedEdit(), which is shared by all property dialogs
function InitDialog()
{
gDialog.enableSnapToGrid.checked = gEditor.snapToGridEnabled;
toggleSnapToGrid();
gDialog.sizeInput.value = gEditor.gridSize;
}
function onAccept()
{
gEditor.snapToGridEnabled = gDialog.enableSnapToGrid.checked;
gEditor.gridSize = gDialog.sizeInput.value;
return true;
}
function toggleSnapToGrid()
{
SetElementEnabledById("size", gDialog.enableSnapToGrid.checked)
SetElementEnabledById("sizeLabel", gDialog.enableSnapToGrid.checked)
SetElementEnabledById("unitLabel", gDialog.enableSnapToGrid.checked)
}

View File

@@ -0,0 +1,87 @@
<?xml version="1.0"?>
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Mozilla.org.
-
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 2003
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Daniel Glazman (glazman@netscape.com) (Original author)
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<?xml-stylesheet href="chrome://editor/skin/editor.css" type="text/css"?>
<?xml-stylesheet href="chrome://editor/skin/EditorDialog.css" type="text/css"?>
<?xul-overlay href="chrome://editor/content/EdDialogOverlay.xul"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
<!DOCTYPE dialog SYSTEM "chrome://editor/locale/EditorSnapToGrid.dtd">
<dialog title="&windowTitle.label;"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="Startup()"
ondialogaccept="return onAccept();"
ondialogcancel="return onCancel();">
<!-- Methods common to all editor dialogs -->
<script type="application/x-javascript" src="chrome://editor/content/editorUtilities.js"/>
<script type="application/x-javascript" src="chrome://editor/content/EdDialogCommon.js"/>
<!--- Element-specific methods -->
<script type="application/x-javascript" src="chrome://editor/content/EdSnapToGrid.js"/>
<spacer id="location" offsetY="50" persist="offsetX offsetY"/>
<checkbox id="enableSnapToGrid"
label="&enableSnapToGrid.label;"
accesskey="&enableSnapToGrid.accessKey;"
oncommand="toggleSnapToGrid();"/>
<spacer class="spacer"/>
<grid>
<columns><column/><column/><column /></columns>
<rows>
<row align="center">
<label value="&sizeEditField.label;"
id="sizeLabel"
control="size"
accesskey="&sizeEditField.accessKey;"/>
<textbox class="narrow" id="size" oninput="forceInteger('size')"/>
<label id="unitLabel"
value="&pixelsLabel.value;" />
</row>
</rows>
</grid>
<spacer class="spacer"/>
<separator class="groove"/>
</dialog>

View File

@@ -0,0 +1,48 @@
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Mozilla.org.
-
- The Initial Developer of the Original Code is
- Netscape Communications Corporation.
- Portions created by the Initial Developer are Copyright (C) 2003
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
- Daniel Glazman (glazman@netscape.com) (Original author)
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<!-- Window title -->
<!ENTITY windowTitle.label "Snap to Grid">
<!ENTITY enableSnapToGrid.label "enable Snap to Grid">
<!ENTITY enableSnapToGrid.accessKey "e">
<!ENTITY sizeEditField.label "Size:">
<!ENTITY sizeEditField.accessKey "S">
<!ENTITY pixelsLabel.value "pixels">