';
20 | $comment = (isset($row["TABLE_COMMENT"]) ? $row["TABLE_COMMENT"] : "");
21 | if ($comment) { $xml .= ''.$comment.''; }
22 |
23 | $q = "SELECT * FROM COLUMNS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."'";
24 | $result2 = mysqli_query($mysqli,$q);
25 | while ($row = mysqli_fetch_array($result2)) {
26 | $name = $row["COLUMN_NAME"];
27 | $type = $row["COLUMN_TYPE"];
28 | $comment = (isset($row["COLUMN_COMMENT"]) ? $row["COLUMN_COMMENT"] : "");
29 | $null = ($row["IS_NULLABLE"] == "YES" ? "0" : "1");
30 | $def = $row["COLUMN_DEFAULT"];
31 | $ai = (preg_match("/auto_increment/i",$row["EXTRA"]) ? "1" : "0");
32 | if ($def == "NULL") { $def = ""; }
33 | $xml .= '';
34 | $xml .= ''.strtoupper($type).'';
35 | $xml .= ''.$def.'';
36 | if ($comment) { $xml .= ''.$comment.''; }
37 |
38 | /* fk constraints */
39 | $q = "SELECT
40 | REFERENCED_TABLE_NAME AS 'table', REFERENCED_COLUMN_NAME AS 'column'
41 | FROM KEY_COLUMN_USAGE k
42 | LEFT JOIN TABLE_CONSTRAINTS c
43 | ON k.CONSTRAINT_NAME = c.CONSTRAINT_NAME
44 | WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
45 | AND c.TABLE_SCHEMA = '".$db."' AND c.TABLE_NAME = '".$table."'
46 | AND k.COLUMN_NAME = '".$name."'";
47 | $result3 = mysqli_query($mysqli,$q);
48 |
49 | while ($row = mysqli_fetch_array($result3)) {
50 | $xml .= '';
51 | }
52 |
53 | $xml .= '
';
54 | }
55 |
56 | /* keys */
57 | $q = "SELECT * FROM STATISTICS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."' ORDER BY SEQ_IN_INDEX ASC";
58 | $result2 = mysqli_query($mysqli,$q);
59 | $idx = array();
60 |
61 | while ($row = mysqli_fetch_array($result2)) {
62 | $name = $row["INDEX_NAME"];
63 | if (array_key_exists($name, $idx)) {
64 | $obj = $idx[$name];
65 | } else {
66 | $type = $row["INDEX_TYPE"];
67 | $t = "INDEX";
68 | if ($type == "FULLTEXT") { $t = $type; }
69 | if ($row["NON_UNIQUE"] == "0") { $t = "UNIQUE"; }
70 | if ($name == "PRIMARY") { $t = "PRIMARY"; }
71 |
72 | $obj = array(
73 | "columns" => array(),
74 | "type" => $t
75 | );
76 | }
77 |
78 | $obj["columns"][] = $row["COLUMN_NAME"];
79 | $idx[$name] = $obj;
80 | }
81 |
82 | foreach ($idx as $name=>$obj) {
83 | $xml .= '';
84 | for ($i=0;$i';
87 | }
88 | $xml .= '';
89 | }
90 | $xml .= "";
91 | }
92 | $arr[] = $xml;
93 | $arr[] = '';
94 | return implode("\n",$arr);
95 | }
96 | ?>
97 |
--------------------------------------------------------------------------------
/backend/php-mysql/database.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE IF EXISTS `wwwsqldesigner`;
2 |
3 | CREATE TABLE `wwwsqldesigner` (
4 | `keyword` varchar(30) NOT NULL default '',
5 | `data` mediumtext,
6 | `dt` timestamp,
7 | PRIMARY KEY (`keyword`)
8 | );
9 |
--------------------------------------------------------------------------------
/backend/php-pdo/AbstractLayer.php:
--------------------------------------------------------------------------------
1 |
28 |
--------------------------------------------------------------------------------
/backend/php-postgresql/README:
--------------------------------------------------------------------------------
1 | Postgresql server backend for wwwsqldesigner
2 | version 0.1 beta
3 |
4 |
5 | Instructions:
6 |
7 | If you want to save/load your diagrams in a database...
8 |
9 | 1) Create a login role called 'wwwsqldesigner' using 'xxx' as password.
10 | 2) Create a databse called 'wwwsqldesigner' with...
11 | owner as 'wwwsqldesigner',
12 | UTF-8 encoding,
13 | and template0
14 | 3) Connect to this newly created database and run the database.sql script
15 | located in this folder.
16 | 4) Edit config.js located in the js directory...
17 | change default database to postgresql,
18 | add postgresql to available backends
19 | 5) If you want to import the schema of an an already created database,
20 | edit the index.php script located in this directory
21 |
--------------------------------------------------------------------------------
/backend/php-postgresql/database.sql:
--------------------------------------------------------------------------------
1 | DROP TABLE IF EXISTS wwwsqldesigner;
2 |
3 | CREATE TABLE wwwsqldesigner (
4 | keyword varchar(30) NOT NULL,
5 | xmldata text,
6 | dt timestamp,
7 | PRIMARY KEY (keyword)
8 | );
9 |
--------------------------------------------------------------------------------
/backend/php-s3/index.php:
--------------------------------------------------------------------------------
1 | getBucket($bucket);
19 | foreach ($response->body->Contents as $content) {
20 | $key = $content->Key;
21 | if (0 === strpos($key, $path.'/') && $key != $path.'/')
22 | echo substr($key, strlen($path)+1)."\n";
23 | }
24 | break;
25 | case "save":
26 | $keyword = (isset($_GET["keyword"]) ? $_GET["keyword"] : "");
27 | $data = file_get_contents("php://input");
28 | $client->putObject($bucket, $path.'/'.$keyword, $data, array('Content-Type' => 'text/xml'));
29 | header("HTTP/1.0 201 Created");
30 | break;
31 | case "load":
32 | $keyword = (isset($_GET["keyword"]) ? $_GET["keyword"] : "");
33 | $file = $client->getObject($bucket, $path.'/'.$keyword);
34 | if ($file->body) {
35 | header("Content-type: text/xml");
36 | echo $file->body;
37 | } else {
38 | header("HTTP/1.0 404 Not Found");
39 | }
40 | break;
41 | default: header("HTTP/1.0 501 Not Implemented");
42 | }
43 | ?>
44 |
--------------------------------------------------------------------------------
/backend/php-sqlite/index.php:
--------------------------------------------------------------------------------
1 | exec( $initSQL );
26 | return ($res !== false);
27 | }
28 | return true;
29 | }
30 | function import() {
31 | header( 'HTTP/1.0 501 Not Implemented' );
32 | }
33 |
34 | $a = (isset($_GET["action"]) ? $_GET["action"] : false);
35 | switch( $a ) {
36 | case 'list' :
37 | setup_saveloadlist();
38 | if( !connect() ) {
39 | header( 'HTTP/1.0 503 Service Unavailable' );
40 | break;
41 | }
42 | $result = $pdo->query( "SELECT keyword FROM ".TABLE);
43 | $data = $result->fetchAll();
44 | if( count($data) > 0 ) {
45 | foreach ($data as $row) {
46 | echo $row['keyword']."\n";
47 | }
48 | } else {
49 | echo "--No Designs Saved";
50 | }
51 | break;
52 | case 'save' :
53 | setup_saveloadlist();
54 | if( !connect() ) {
55 | header( 'HTTP/1.0 503 Service Unavailable' );
56 | break;
57 | }
58 |
59 | $keyword = ( isset( $_GET['keyword'] ) ? $_GET['keyword'] : '' );
60 | $data = file_get_contents( "php://input" );
61 | if( get_magic_quotes_gpc()
62 | || get_magic_quotes_runtime() ) {
63 | $data = stripslashes( $data );
64 | }
65 |
66 | $statement = $pdo->prepare("SELECT COUNT(*) AS c FROM ".TABLE." WHERE keyword = ?");
67 | $statement->execute(array($keyword));
68 | $result = $statement->fetchAll();
69 | if ($result[0]["c"] > 0) {
70 | $result = $pdo->prepare( "UPDATE ".TABLE." SET data = ? WHERE keyword = ?")->execute(array($data, $keyword));
71 | } else {
72 | $result = $pdo->prepare( "INSERT INTO ".TABLE." (keyword, data) VALUES (?, ?)")->execute(array($keyword, $data));
73 | }
74 |
75 | if( !$result ) {
76 | header( 'HTTP/1.0 500 Internal Server Error' );
77 | } else {
78 | header( 'HTTP/1.0 201 Created' );
79 | }
80 | break;
81 | case 'load' :
82 | setup_saveloadlist();
83 | if ( !connect() ) {
84 | header( 'HTTP/1.0 503 Service Unavailable' );
85 | break;
86 | }
87 | $keyword = ( isset( $_GET['keyword'] ) ? $_GET['keyword'] : '' );
88 |
89 | $statement = $pdo->prepare( "SELECT data FROM ".TABLE." WHERE keyword = ?");
90 | $statement->execute(array($keyword));
91 | $data = $statement->fetchAll();
92 |
93 | if( !count($data) ) {
94 | header( 'HTTP/1.0 404 Not Found' );
95 | } else {
96 | header( 'Content-type: text/xml' );
97 | echo $data[0]['data'];
98 | }
99 | break;
100 | case 'import' :
101 | setup_import();
102 | default:
103 | header( 'HTTP/1.0 501 Not Implemented' );
104 | }
105 |
106 |
107 | /*
108 | list: 501/200
109 | load: 501/200/404
110 | save: 501/201
111 | import: 501/200
112 | */
113 | ?>
114 |
--------------------------------------------------------------------------------
/backend/php-sqlite/wwwsqldesigner.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/backend/php-sqlite/wwwsqldesigner.sqlite
--------------------------------------------------------------------------------
/backend/web2py/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/backend/web2py/web2pydesigner.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | integer
27 | NULL
28 |
29 |
30 | string(50)
31 | 'newproject'
32 |
33 |
34 | datetime
35 | 'request.now'
36 |
37 |
38 | integer
39 | NULL
40 |
41 |
42 |
43 | integer
44 | NULL
45 |
46 |
47 |
48 | boolean
49 | False
50 |
51 |
52 | id
53 |
54 |
55 |
56 |
57 | integer
58 | NULL
59 |
60 |
61 | integer
62 | NULL
63 |
64 |
65 |
66 | datetime
67 | 'request.now'
68 |
69 |
70 | blob
71 |
72 |
73 | id
74 |
75 |
76 |
77 |
78 | integer
79 | NULL
80 |
81 |
82 | string
83 |
84 |
85 | id
86 |
87 |
88 |
89 |
90 | integer
91 | NULL
92 |
93 |
94 | integer
95 | NULL
96 |
97 |
98 |
99 | integer
100 | NULL
101 |
102 |
103 |
104 | id
105 |
106 |
107 |
108 |
109 | integer
110 | NULL
111 |
112 |
113 | string
114 |
115 |
116 | id
117 |
118 |
119 |
120 |
121 | integer
122 | NULL
123 |
124 |
125 | string(50)
126 |
127 |
128 | string(50)
129 |
130 |
131 | string
132 | string(80)
133 | 'email@domain.com'
134 |
135 |
136 | string(50)
137 |
138 |
139 | password
140 |
141 |
142 | id
143 |
144 |
145 |
146 |
--------------------------------------------------------------------------------
/db/cubrid/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/db/cubrid/output.xsl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | --
6 | -- CUBRID SQL Script
7 | --
8 |
9 |
10 |
11 |
12 | -- Table `
13 |
14 | `
15 |
16 |
17 |
18 |
19 |
20 | -- DROP TABLE `
21 |
22 | `;
23 |
24 |
25 |
26 |
27 |
28 | CREATE TABLE `
29 |
30 | ` (
31 |
32 |
33 |
34 | `
35 |
36 | `
37 |
38 |
39 |
40 |
41 |
42 | NOT NULL
43 |
44 |
45 |
46 | AUTO_INCREMENT
47 |
48 |
49 |
50 | DEFAULT
51 |
52 |
53 |
54 |
55 |
56 | ,
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | ,
65 |
66 |
67 |
68 | PRIMARY KEY (
69 | UNIQUE KEY (
70 | KEY (
71 |
72 |
73 |
74 | ``
75 |
76 | ,
77 |
78 |
79 | )
80 |
81 |
82 |
83 | );
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | -- Foreign Keys
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 | ALTER TABLE `
102 |
103 | ` ADD FOREIGN KEY (`
104 |
105 | `) REFERENCES `
106 |
107 | ` (`
108 |
109 | `);
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 | -- Test Data
122 |
123 |
124 |
125 |
126 |
127 | -- INSERT INTO `
128 | ` (
129 |
130 | `
131 |
132 | `
133 |
134 | ,
135 |
136 |
137 | ) VALUES
138 | -- (
139 |
140 | ''
141 |
142 | ,
143 |
144 |
145 | );
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
--------------------------------------------------------------------------------
/db/mssql/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/db/mssql/output.xsl:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | CREATE TABLE [
15 |
16 | ] (
17 |
18 |
19 | [
20 |
21 | ]
22 |
23 |
24 |
25 |
26 |
27 | NOT NULL
28 |
29 |
30 |
31 | IDENTITY (1, 1)
32 |
33 |
34 |
35 | ,
36 |
37 |
38 |
39 | --
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | ,
52 |
53 |
54 |
55 | CONSTRAINT
56 |
57 |
58 |
59 | PRIMARY KEY (
60 | FULLTEXT KEY (
61 | UNIQUE KEY (
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 | []
70 |
71 | ,
72 |
73 |
74 | )
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | ) ON [PRIMARY]
85 | GO
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | ALTER TABLE [
95 |
96 | ] ADD FOREIGN KEY (
97 |
98 | ) REFERENCES [
99 |
100 | ] ([
101 |
102 | ]);
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 | CREATE INDEX
114 |
115 | ON [
116 |
117 | ] ([
118 |
119 |
120 | ]
121 |
122 | ,
123 |
124 |
125 | );
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
--------------------------------------------------------------------------------
/db/mysql/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/db/oracle/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/db/postgresql/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/db/postgresql/output.xsl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | CREATE TABLE
30 |
31 | (
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
46 | BIGSERIAL
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 | NOT NULL
56 |
57 |
58 |
59 |
60 | DEFAULT
61 |
62 |
63 |
64 |
65 |
66 |
67 | /*
68 |
69 | */
70 |
71 |
72 |
73 | ,
74 |
75 |
76 |
77 |
78 |
79 | );
80 |
81 |
82 |
83 |
84 |
85 |
86 | ALTER TABLE
87 |
88 |
89 |
90 | ADD CONSTRAINT
91 |
92 | _pkey
93 |
94 | PRIMARY KEY (
95 | UNIQUE (
96 | KEY (
97 |
98 |
99 |
100 |
101 |
102 | ,
103 |
104 |
105 | );
106 |
107 |
108 |
109 |
110 |
111 | COMMENT ON TABLE "
112 |
113 | " IS '
114 |
115 |
116 |
117 |
118 |
119 | ';
120 |
121 |
122 |
123 |
124 |
125 |
126 | COMMENT ON COLUMN "
127 |
128 | "."
129 |
130 | " IS '
131 |
132 |
133 |
134 |
135 |
136 | ';
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 | ALTER TABLE
151 |
152 | ADD CONSTRAINT
153 |
154 | _
155 |
156 | _fkey
157 | FOREIGN KEY (
158 |
159 | ) REFERENCES
160 |
161 | (
162 |
163 | );
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
--------------------------------------------------------------------------------
/db/sqlalchemy/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/db/sqlite/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/db/sqlite/output.xsl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | CREATE TABLE '
9 |
10 | ' (
11 |
12 |
13 |
14 |
15 | ''
16 |
17 |
18 |
19 |
20 | NOT NULL
21 |
22 |
23 |
24 |
25 | DEFAULT
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | PRIMARY KEY
35 |
36 |
37 |
38 |
39 |
40 |
41 | AUTOINCREMENT
42 |
43 |
44 |
45 |
46 | REFERENCES '
47 |
48 | ' ('
49 |
50 | ')
51 |
52 |
53 |
54 | ,
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 | ,
63 |
64 | UNIQUE (
65 |
66 |
67 |
68 |
69 | ,
70 |
71 |
72 | )
73 |
74 |
75 |
76 |
77 |
78 | );
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 | CREATE INDEX '
88 |
89 | ' ON '
90 |
91 | ' ('
92 |
93 |
94 |
95 | ', '
96 |
97 |
98 | ');
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
--------------------------------------------------------------------------------
/db/vfp9/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/db/vfp9/readme_vfp9.txt:
--------------------------------------------------------------------------------
1 | 07.12.2009
2 | vfp9 support for WwwSQLDesigner
3 | by zvolsky@seznam.cz
4 |
5 |
6 | Installation:
7 | -------------
8 | vfp9 support is standard part of WwwSQLDesigner - simple choose database vfp9 in Settings.
9 |
10 | You can change the generated script by patch/replace of db\vfp9\output.xsl.
11 |
12 |
13 | WwwSQLDesigner basics:
14 | ----------------------
15 | To start click Index.html.
16 | Never use Page Refresh (F5) - data will be lost!
17 | Use Save button to generate FoxPro script with CREATE TABLEs.
18 | Use Save/Read and Save XML buttons to generate XML and copy-paste it into text file to save your work.
19 | Use Save/Read and Read XML buttons to continue work.
20 |
21 |
22 | Use of VFP9 support:
23 | --------------------
24 | Textbox "Default" in Field adding has different meaning. Here you can enter all foxpro keywords, which follow field definition.
25 | No word "DEFAULT" is added. To use some DEFAULT, write "DEFAULT value". If you let just "NULL" in Textbox "Default",
26 | you will receive FoxPro error. Write "DEFAULT .NULL." instead.
27 |
28 | Data types Binary aren't in list. Use standard Varchar, Character, Memo instead and write "NOCPTRANS" into the "Default" textbox.
29 |
30 | Data type "Integer (not key)" differents (from the primary/foreign key) just in its color (but generates standard Integer).
31 |
32 |
33 |
34 | Generated VFP script contains (optional) parameters, which change behavior of CREATE TABLE commands:
35 | teLongName gives a possibility to generate FREE or NAME keywords.
36 | tcCommand can fire immediately after each CREATE TABLE (new table is selected).
37 | F.e. "= MyProc( ALIAS(), m.lcTableComment, @lacComments )" gives access to alias and all comments from model inside MyProc() procedure.
38 | tcPath can control path, where tables will be created.
39 |
40 | Comments aren't copied directly into target database.
41 | Instead of this, they are prepared in lcTableComment variable (table comment) and in lacComments array (field comments) before &tcCommand call.
42 | So you can work with comments in your user defined code as you want.
43 |
--------------------------------------------------------------------------------
/db/web2py/datatypes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/dropbox-oauth-receiver.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 | Dropbox sign-in successful
11 |
12 | Please close this window.
13 |
14 |
--------------------------------------------------------------------------------
/images/ScreenLayout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/ScreenLayout.png
--------------------------------------------------------------------------------
/images/addingKeys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/addingKeys.png
--------------------------------------------------------------------------------
/images/back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/back.png
--------------------------------------------------------------------------------
/images/back_dim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/back_dim.png
--------------------------------------------------------------------------------
/images/columnDetail.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/columnDetail.png
--------------------------------------------------------------------------------
/images/constrained.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/constrained.png
--------------------------------------------------------------------------------
/images/down.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/down.gif
--------------------------------------------------------------------------------
/images/down_2_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/down_2_black.png
--------------------------------------------------------------------------------
/images/down_2_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/down_2_white.png
--------------------------------------------------------------------------------
/images/editTable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/editTable.png
--------------------------------------------------------------------------------
/images/fast_forward_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/fast_forward_black.png
--------------------------------------------------------------------------------
/images/fast_rewind_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/fast_rewind_black.png
--------------------------------------------------------------------------------
/images/finalExample.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/finalExample.png
--------------------------------------------------------------------------------
/images/selectedColumn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/selectedColumn.png
--------------------------------------------------------------------------------
/images/throbber.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/throbber.gif
--------------------------------------------------------------------------------
/images/up.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/up.gif
--------------------------------------------------------------------------------
/images/up_2_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/up_2_black.png
--------------------------------------------------------------------------------
/images/up_2_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ondras/wwwsqldesigner/949e6fad9725fc8c4cf2b9b63eb779173b66e5ea/images/up_2_white.png
--------------------------------------------------------------------------------
/js/config.js:
--------------------------------------------------------------------------------
1 | var CONFIG = {
2 | AVAILABLE_DBS: [
3 | "mysql",
4 | "sqlite",
5 | "web2py",
6 | "mssql",
7 | "postgresql",
8 | "oracle",
9 | "sqlalchemy",
10 | "vfp9",
11 | "cubrid",
12 | "web2py",
13 | ],
14 | DEFAULT_DB: "mysql",
15 |
16 | AVAILABLE_LOCALES: [
17 | "ar",
18 | "cs",
19 | "de",
20 | "el",
21 | "en",
22 | "eo",
23 | "es",
24 | "fr",
25 | "hu",
26 | "it",
27 | "ja",
28 | "ko",
29 | "nl",
30 | "pl",
31 | "pt_BR",
32 | "ro",
33 | "ru",
34 | "sv",
35 | "tr",
36 | "zh",
37 | ],
38 | DEFAULT_LOCALE: "en",
39 |
40 | AVAILABLE_BACKENDS: [
41 | "php-mysql",
42 | "php-s3",
43 | "php-blank",
44 | "php-file",
45 | "php-sqlite",
46 | "php-mysql+file",
47 | "php-postgresql",
48 | "php-pdo",
49 | "perl-file",
50 | "php-cubrid",
51 | "asp-file",
52 | "web2py",
53 | ],
54 | DEFAULT_BACKEND: ["php-mysql"],
55 |
56 | RELATION_THICKNESS: 2,
57 | RELATION_SPACING: 15,
58 | RELATION_COLORS: ["#000", "#800", "#080", "#008", "#088", "#808", "#088"],
59 |
60 | RELATION_HIGHLIGHTED_COLOR: "#FF0000",
61 | RELATION_HIGHLIGHTED_THICKNESS: 5,
62 |
63 | STYLES: ["material-inspired", "original"],
64 | MATERIAL_RELATION_COLORS: [
65 | "#323232",
66 | "#F44336",
67 | "#E91E63",
68 | "#9C27B0",
69 | "#3F51B5",
70 | "#673AB7",
71 | "#2196F3",
72 | "#03A9F4",
73 | "#00BCD4",
74 | "#009688",
75 | "#4CAF50",
76 | "#8BC34A",
77 | "#CDDC39",
78 | "#FFC107",
79 | "#FF5722",
80 | "#795548",
81 | "#607D8B",
82 | ],
83 |
84 | STATIC_PATH: "",
85 | XHR_PATH: "",
86 |
87 | /*
88 | * The key below needs to be set individually by you if you want to use the Dropbox load/save feature.
89 | * To do that, first sign up with Dropbox (may require a specific developer / SDK sign-up), go to
90 | * https://www.dropbox.com/developers/apps and use "Create app" to add a new "Dropbox API app".
91 | * Limit the app to its own folder. Call it, for instance, "wwwsqldesigner".
92 | * Under "OAuth 2", "Redirect URIs", add the URL to the "dropbox-oauth-receiver.html" file on your server.
93 | * E.g, if you install wwwsqldesigner on your local web server under "http://localhost/sqldesigner/", then add
94 | * http://localhost/sqldesigner/dropbox-oauth-receiver.html as a Redirection URI.
95 | * Copy the shown "App key" and paste it here below instead of the null value:
96 | */
97 | DROPBOX_KEY: null, // such as: "d6stdscwewhl6sa"
98 | };
99 |
--------------------------------------------------------------------------------
/js/globals.js:
--------------------------------------------------------------------------------
1 | function _(str) {
2 | /* getText */
3 | if (!(str in window.LOCALE)) {
4 | return str;
5 | }
6 | return window.LOCALE[str];
7 | }
8 |
9 | if (typeof String.prototype.endsWith !== "function") {
10 | String.prototype.endsWith = function (suffix) {
11 | return this.indexOf(suffix, this.length - suffix.length) !== -1;
12 | };
13 | }
14 |
15 | if (!String.prototype.trim) {
16 | String.prototype.trim = function () {
17 | return this.match(/^\s*([\s\S]*?)\s*$/)[1];
18 | };
19 | }
20 |
21 | if (!String.trim) {
22 | String.trim = function (obj) {
23 | return String.prototype.trim.call(obj);
24 | };
25 | }
26 |
27 | if (!Object.create) {
28 | Object.create = function (o) {
29 | if (arguments.length > 1) {
30 | throw new Error(
31 | "Object.create polyfill only accepts the first parameter"
32 | );
33 | }
34 | var tmp = function () {};
35 | tmp.prototype = o;
36 | return new tmp();
37 | };
38 | }
39 |
40 | var DATATYPES = false;
41 | var LOCALE = {};
42 | var SQL = {
43 | _subscribers: {},
44 |
45 | publish: function (message, publisher, data) {
46 | var subscribers = this._subscribers[message] || [];
47 | var obj = {
48 | target: publisher,
49 | data: data,
50 | };
51 | subscribers.forEach(function (subscriber) {
52 | subscriber(obj);
53 | });
54 | },
55 |
56 | subscribe: function (message, subscriber) {
57 | if (!(message in this._subscribers)) {
58 | this._subscribers[message] = [];
59 | }
60 | var index = this._subscribers[message].indexOf(subscriber);
61 | if (index == -1) {
62 | this._subscribers[message].push(subscriber);
63 | }
64 | },
65 |
66 | unsubscribe: function (message, subscriber) {
67 | var index = this._subscribers[message].indexOf(subscriber);
68 | if (index > -1) {
69 | this._subscribers[message].splice(index, 1);
70 | }
71 | },
72 |
73 | escape: function (str) {
74 | return str
75 | .replace(/&/g, "&")
76 | .replace(/>/g, ">")
77 | .replace(/\n';
64 | for (var i = 0; i < this.rows.length; i++) {
65 | var r = this.rows[i];
66 | xml += "" + r.getTitle() + "\n";
67 | }
68 | xml += "\n";
69 | return xml;
70 | };
71 |
72 | SQL.Key.prototype.fromXML = function (node) {
73 | this.setType(node.getAttribute("type"));
74 | this.setName(node.getAttribute("name"));
75 | var parts = node.getElementsByTagName("part");
76 | for (var i = 0; i < parts.length; i++) {
77 | var name = parts[i].firstChild.nodeValue;
78 | var row = this.owner.findNamedRow(name);
79 | this.addRow(row);
80 | }
81 | };
82 |
--------------------------------------------------------------------------------
/js/map.js:
--------------------------------------------------------------------------------
1 | /* --------------------- minimap ------------ */
2 |
3 | SQL.Map = function (owner) {
4 | this.owner = owner;
5 | SQL.Visual.apply(this);
6 | this.dom.container = OZ.$("minimap");
7 | this.width = this.dom.container.offsetWidth - 2;
8 | this.height = this.dom.container.offsetHeight - 2;
9 |
10 | this.dom.port = OZ.DOM.elm("div", { className: "port", zIndex: 1 });
11 | this.dom.container.appendChild(this.dom.port);
12 | this.sync = this.sync.bind(this);
13 |
14 | this.flag = false;
15 | this.sync();
16 |
17 | OZ.Event.add(window, "resize", this.sync);
18 | OZ.Event.add(window, "scroll", this.sync);
19 | OZ.Event.add(this.dom.container, "mousedown", this.down.bind(this));
20 | OZ.Event.add(this.dom.container, "touchstart", this.down.bind(this));
21 | OZ.Event.add(this.dom.container, "touchmove", OZ.Event.prevent);
22 | };
23 | SQL.Map.prototype = Object.create(SQL.Visual.prototype);
24 |
25 | SQL.Map.prototype.down = function (e) {
26 | /* mousedown - move view and start drag */
27 | this.flag = true;
28 | this.dom.container.style.cursor = "move";
29 | var pos = OZ.DOM.pos(this.dom.container);
30 |
31 | this.x = Math.round(pos[0] + this.l + this.w / 2);
32 | this.y = Math.round(pos[1] + this.t + this.h / 2);
33 | this.move(e);
34 |
35 | if (e.type == "touchstart") {
36 | var eventMove = "touchmove";
37 | var eventUp = "touchend";
38 | } else {
39 | var eventMove = "mousemove";
40 | var eventUp = "mouseup";
41 | }
42 |
43 | this.documentMove = OZ.Event.add(document, eventMove, this.move.bind(this));
44 | this.documentUp = OZ.Event.add(document, eventUp, this.up.bind(this));
45 | };
46 |
47 | SQL.Map.prototype.move = function (e) {
48 | /* mousemove */
49 | if (!this.flag) {
50 | return;
51 | }
52 | OZ.Event.prevent(e);
53 |
54 | if (e.type.match(/touch/)) {
55 | if (e.touches.length > 1) {
56 | return;
57 | }
58 | var event = e.touches[0];
59 | } else {
60 | var event = e;
61 | }
62 |
63 | var dx = event.clientX - this.x;
64 | var dy = event.clientY - this.y;
65 | if (this.l + dx < 0) {
66 | dx = -this.l;
67 | }
68 | if (this.t + dy < 0) {
69 | dy = -this.t;
70 | }
71 | if (this.l + this.w + 4 + dx > this.width) {
72 | dx = this.width - 4 - this.l - this.w;
73 | }
74 | if (this.t + this.h + 4 + dy > this.height) {
75 | dy = this.height - 4 - this.t - this.h;
76 | }
77 |
78 | this.x += dx;
79 | this.y += dy;
80 |
81 | this.l += dx;
82 | this.t += dy;
83 |
84 | var coefX = this.width / this.owner.width;
85 | var coefY = this.height / this.owner.height;
86 | var left = this.l / coefX;
87 | var top = this.t / coefY;
88 |
89 | document.documentElement.scrollLeft = Math.round(left);
90 | document.documentElement.scrollTop = Math.round(top);
91 |
92 | this.redraw();
93 | };
94 |
95 | SQL.Map.prototype.up = function (e) {
96 | /* mouseup */
97 | this.flag = false;
98 | this.dom.container.style.cursor = "";
99 | OZ.Event.remove(this.documentMove);
100 | OZ.Event.remove(this.documentUp);
101 | };
102 |
103 | SQL.Map.prototype.sync = function () {
104 | /* when window changes, adjust map */
105 | var dims = OZ.DOM.win();
106 | var scroll = OZ.DOM.scroll();
107 | var scaleX = this.width / this.owner.width;
108 | var scaleY = this.height / this.owner.height;
109 |
110 | var w = dims[0] * scaleX - 4 - 0;
111 | var h = dims[1] * scaleY - 4 - 0;
112 | var x = scroll[0] * scaleX;
113 | var y = scroll[1] * scaleY;
114 |
115 | this.w = Math.round(w);
116 | this.h = Math.round(h);
117 | this.l = Math.round(x);
118 | this.t = Math.round(y);
119 |
120 | this.redraw();
121 | };
122 |
123 | SQL.Map.prototype.redraw = function () {
124 | this.dom.port.style.width = this.w + "px";
125 | this.dom.port.style.height = this.h + "px";
126 | this.dom.port.style.left = this.l + "px";
127 | this.dom.port.style.top = this.t + "px";
128 | };
129 |
--------------------------------------------------------------------------------
/js/options.js:
--------------------------------------------------------------------------------
1 | /* --------------------- options ------------ */
2 |
3 | SQL.Options = function (owner) {
4 | this.owner = owner;
5 | this.dom = {
6 | container: OZ.$("opts"),
7 | btn: OZ.$("options"),
8 | };
9 | this.dom.btn.value = _("options");
10 | this.save = this.save.bind(this);
11 | this.build();
12 | };
13 |
14 | SQL.Options.prototype.build = function () {
15 | this.dom.optionlocale = OZ.$("optionlocale");
16 | this.dom.optiondb = OZ.$("optiondb");
17 | this.dom.optionsnap = OZ.$("optionsnap");
18 | this.dom.optionpattern = OZ.$("optionpattern");
19 | this.dom.optionstyle = OZ.$("optionstyle");
20 | this.dom.optionhide = OZ.$("optionhide");
21 | this.dom.optionvector = OZ.$("optionvector");
22 | this.dom.optionshowsize = OZ.$("optionshowsize");
23 | this.dom.optionshowtype = OZ.$("optionshowtype");
24 |
25 | var ids = [
26 | "language",
27 | "db",
28 | "snap",
29 | "pattern",
30 | "style",
31 | "hide",
32 | "vector",
33 | "showsize",
34 | "showtype",
35 | "optionsnapnotice",
36 | "optionpatternnotice",
37 | "optionsnotice",
38 | ];
39 | for (var i = 0; i < ids.length; i++) {
40 | var id = ids[i];
41 | var elm = OZ.$(id);
42 | elm.innerHTML = _(id);
43 | }
44 |
45 | var ls = CONFIG.AVAILABLE_LOCALES;
46 | OZ.DOM.clear(this.dom.optionlocale);
47 | for (var i = 0; i < ls.length; i++) {
48 | var o = OZ.DOM.elm("option");
49 | o.value = ls[i];
50 | o.innerHTML = ls[i];
51 | this.dom.optionlocale.appendChild(o);
52 | if (this.owner.getOption("locale") == ls[i]) {
53 | this.dom.optionlocale.selectedIndex = i;
54 | }
55 | }
56 |
57 | var dbs = CONFIG.AVAILABLE_DBS;
58 | OZ.DOM.clear(this.dom.optiondb);
59 | for (var i = 0; i < dbs.length; i++) {
60 | var o = OZ.DOM.elm("option");
61 | o.value = dbs[i];
62 | o.innerHTML = dbs[i];
63 | this.dom.optiondb.appendChild(o);
64 | if (this.owner.getOption("db") == dbs[i]) {
65 | this.dom.optiondb.selectedIndex = i;
66 | }
67 | }
68 |
69 | var styles = CONFIG.STYLES;
70 | OZ.DOM.clear(this.dom.optionstyle);
71 | for (var i = 0; i < styles.length; i++) {
72 | var o = OZ.DOM.elm("option");
73 | o.value = styles[i];
74 | o.innerHTML = styles[i];
75 | this.dom.optionstyle.appendChild(o);
76 | if (this.owner.getOption("style") == styles[i]) {
77 | this.dom.optionstyle.selectedIndex = i;
78 | }
79 | }
80 |
81 | OZ.Event.add(this.dom.btn, "click", this.click.bind(this));
82 |
83 | this.dom.container.parentNode.removeChild(this.dom.container);
84 | };
85 |
86 | SQL.Options.prototype.save = function () {
87 | this.owner.setOption("locale", this.dom.optionlocale.value);
88 | this.owner.setOption("db", this.dom.optiondb.value);
89 | this.owner.setOption("snap", this.dom.optionsnap.value);
90 | this.owner.setOption("pattern", this.dom.optionpattern.value);
91 | this.owner.setOption("style", this.dom.optionstyle.value);
92 | this.owner.setOption("hide", this.dom.optionhide.checked ? "1" : "");
93 | this.owner.setOption("vector", this.dom.optionvector.checked ? "1" : "");
94 | this.owner.setOption(
95 | "showsize",
96 | this.dom.optionshowsize.checked ? "1" : ""
97 | );
98 | this.owner.setOption(
99 | "showtype",
100 | this.dom.optionshowtype.checked ? "1" : ""
101 | );
102 | };
103 |
104 | SQL.Options.prototype.click = function () {
105 | this.owner.window.open(_("options"), this.dom.container, this.save);
106 | this.dom.optionsnap.value = this.owner.getOption("snap");
107 | this.dom.optionpattern.value = this.owner.getOption("pattern");
108 | this.dom.optionhide.checked = this.owner.getOption("hide");
109 | this.dom.optionvector.checked = this.owner.getOption("vector");
110 | this.dom.optionshowsize.checked = this.owner.getOption("showsize");
111 | this.dom.optionshowtype.checked = this.owner.getOption("showtype");
112 | };
113 |
--------------------------------------------------------------------------------
/js/rubberband.js:
--------------------------------------------------------------------------------
1 | /* --------------------- rubberband -------------------- */
2 |
3 | SQL.Rubberband = function (owner) {
4 | this.owner = owner;
5 | SQL.Visual.apply(this);
6 | this.dom.container = OZ.$("rubberband");
7 | OZ.Event.add("area", "mousedown", this.down.bind(this));
8 | };
9 | SQL.Rubberband.prototype = Object.create(SQL.Visual.prototype);
10 |
11 | SQL.Rubberband.prototype.down = function (e) {
12 | OZ.Event.prevent(e);
13 | var scroll = OZ.DOM.scroll();
14 | this.x = this.x0 = e.clientX + scroll[0];
15 | this.y = this.y0 = e.clientY + scroll[1];
16 | this.width = 0;
17 | this.height = 0;
18 | this.redraw();
19 | this.documentMove = OZ.Event.add(
20 | document,
21 | "mousemove",
22 | this.move.bind(this)
23 | );
24 | this.documentUp = OZ.Event.add(document, "mouseup", this.up.bind(this));
25 | };
26 |
27 | SQL.Rubberband.prototype.move = function (e) {
28 | var scroll = OZ.DOM.scroll();
29 | var x = e.clientX + scroll[0];
30 | var y = e.clientY + scroll[1];
31 | this.width = Math.abs(x - this.x0);
32 | this.height = Math.abs(y - this.y0);
33 | if (x < this.x0) {
34 | this.x = x;
35 | } else {
36 | this.x = this.x0;
37 | }
38 | if (y < this.y0) {
39 | this.y = y;
40 | } else {
41 | this.y = this.y0;
42 | }
43 | this.redraw();
44 | this.dom.container.style.visibility = "visible";
45 | };
46 |
47 | SQL.Rubberband.prototype.up = function (e) {
48 | OZ.Event.prevent(e);
49 | this.dom.container.style.visibility = "hidden";
50 | OZ.Event.remove(this.documentMove);
51 | OZ.Event.remove(this.documentUp);
52 | this.owner.tableManager.selectRect(this.x, this.y, this.width, this.height);
53 | };
54 |
55 | SQL.Rubberband.prototype.redraw = function () {
56 | this.dom.container.style.left = this.x + "px";
57 | this.dom.container.style.top = this.y + "px";
58 | this.dom.container.style.width = this.width + "px";
59 | this.dom.container.style.height = this.height + "px";
60 | };
61 |
--------------------------------------------------------------------------------
/js/toggle.js:
--------------------------------------------------------------------------------
1 | /* ------------------ minimize/restore bar ----------- */
2 |
3 | SQL.Toggle = function (elm) {
4 | this._state = null;
5 | this._elm = elm;
6 | OZ.Event.add(elm, "click", this._click.bind(this));
7 |
8 | var defaultState = true;
9 | if (document.location.href.match(/toolbar=hidden/)) {
10 | defaultState = false;
11 | }
12 | this._switch(defaultState);
13 | };
14 |
15 | SQL.Toggle.prototype._click = function (e) {
16 | this._switch(!this._state);
17 | };
18 |
19 | SQL.Toggle.prototype._switch = function (state) {
20 | this._state = state;
21 | if (this._state) {
22 | OZ.$("bar").style.maxHeight = "";
23 | } else {
24 | OZ.$("bar").style.overflow = "hidden";
25 | OZ.$("bar").style.maxHeight = this._elm.offsetHeight + "px";
26 | }
27 | this._elm.className = this._state ? "on" : "off";
28 | };
29 |
--------------------------------------------------------------------------------
/js/visual.js:
--------------------------------------------------------------------------------
1 | /* -------------------- base visual element -------------------- */
2 | SQL.Visual = function () {
3 | this._init();
4 | this._build();
5 | };
6 |
7 | SQL.Visual.prototype._init = function () {
8 | this.dom = {
9 | container: null,
10 | title: null,
11 | };
12 | this.data = {
13 | title: "",
14 | };
15 | };
16 |
17 | SQL.Visual.prototype._build = function () {};
18 |
19 | SQL.Visual.prototype.toXML = function () {};
20 |
21 | SQL.Visual.prototype.fromXML = function (node) {};
22 |
23 | SQL.Visual.prototype.destroy = function () {
24 | /* "destructor" */
25 | var p = this.dom.container.parentNode;
26 | if (p && p.nodeType == 1) {
27 | p.removeChild(this.dom.container);
28 | }
29 | };
30 |
31 | SQL.Visual.prototype.setTitle = function (text) {
32 | if (!text) {
33 | return;
34 | }
35 | this.data.title = text;
36 | this.dom.title.innerHTML = text;
37 | };
38 |
39 | SQL.Visual.prototype.getTitle = function () {
40 | return this.data.title;
41 | };
42 |
43 | SQL.Visual.prototype.redraw = function () {};
44 |
--------------------------------------------------------------------------------
/js/window.js:
--------------------------------------------------------------------------------
1 | /* --------------------- window ------------ */
2 |
3 | SQL.Window = function (owner) {
4 | this.owner = owner;
5 | this.dom = {
6 | container: OZ.$("window"),
7 | background: OZ.$("background"),
8 | ok: OZ.$("windowok"),
9 | cancel: OZ.$("windowcancel"),
10 | title: OZ.$("windowtitle"),
11 | content: OZ.$("windowcontent"),
12 | throbber: OZ.$("throbber"),
13 | };
14 | this.dom.ok.value = _("windowok");
15 | this.dom.cancel.value = _("windowcancel");
16 | this.dom.throbber.alt = this.dom.throbber.title = _("throbber");
17 | OZ.Event.add(this.dom.ok, "click", this.ok.bind(this));
18 | OZ.Event.add(this.dom.cancel, "click", this.close.bind(this));
19 | OZ.Event.add(document, "keydown", this.key.bind(this));
20 |
21 | this.sync = this.sync.bind(this);
22 |
23 | OZ.Event.add(window, "scroll", this.sync);
24 | OZ.Event.add(window, "resize", this.sync);
25 | this.state = 0;
26 | this.hideThrobber();
27 |
28 | this.sync();
29 | };
30 |
31 | SQL.Window.prototype.showThrobber = function () {
32 | this.dom.throbber.style.visibility = "";
33 | };
34 |
35 | SQL.Window.prototype.hideThrobber = function () {
36 | this.dom.throbber.style.visibility = "hidden";
37 | };
38 |
39 | SQL.Window.prototype.open = function (title, content, callback) {
40 | this.state = 1;
41 | this.callback = callback;
42 | while (this.dom.title.childNodes.length > 1) {
43 | this.dom.title.removeChild(this.dom.title.childNodes[1]);
44 | }
45 |
46 | var txt = OZ.DOM.text(title);
47 | this.dom.title.appendChild(txt);
48 | this.dom.background.style.visibility = "visible";
49 | OZ.DOM.clear(this.dom.content);
50 | this.dom.content.appendChild(content);
51 |
52 | var win = OZ.DOM.win();
53 | var scroll = OZ.DOM.scroll();
54 | this.dom.container.style.left =
55 | Math.round(scroll[0] + (win[0] - this.dom.container.offsetWidth) / 2) +
56 | "px";
57 | this.dom.container.style.top =
58 | Math.round(scroll[1] + (win[1] - this.dom.container.offsetHeight) / 2) +
59 | "px";
60 |
61 | this.dom.cancel.style.visibility = this.callback ? "" : "hidden";
62 | this.dom.container.style.visibility = "visible";
63 |
64 | var formElements = ["input", "select", "textarea"];
65 | var all = this.dom.container.getElementsByTagName("*");
66 | for (var i = 0; i < all.length; i++) {
67 | if (formElements.indexOf(all[i].tagName.toLowerCase()) != -1) {
68 | all[i].focus();
69 | break;
70 | }
71 | }
72 | };
73 |
74 | SQL.Window.prototype.key = function (e) {
75 | if (!this.state) {
76 | return;
77 | }
78 | if (e.keyCode == 13) {
79 | this.ok(e);
80 | }
81 | if (e.keyCode == 27) {
82 | this.close();
83 | }
84 | };
85 |
86 | SQL.Window.prototype.ok = function (e) {
87 | if (this.callback) {
88 | this.callback();
89 | }
90 | this.close();
91 | };
92 |
93 | SQL.Window.prototype.close = function () {
94 | if (!this.state) {
95 | return;
96 | }
97 | this.state = 0;
98 | this.dom.background.style.visibility = "hidden";
99 | this.dom.container.style.visibility = "hidden";
100 | };
101 |
102 | SQL.Window.prototype.sync = function () {
103 | /* adjust background position */
104 | var dims = OZ.DOM.win();
105 | var scroll = OZ.DOM.scroll();
106 | this.dom.background.style.width = dims[0] + "px";
107 | this.dom.background.style.height = dims[1] + "px";
108 | this.dom.background.style.left = scroll[0] + "px";
109 | this.dom.background.style.top = scroll[1] + "px";
110 | };
111 |
--------------------------------------------------------------------------------
/license.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2005-2012, Ondrej Zara
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without modification,
5 | are permitted provided that the following conditions are met:
6 |
7 | * Redistributions of source code must retain the above copyright notice,
8 | this list of conditions and the following disclaimer.
9 | * Redistributions in binary form must reproduce the above copyright notice,
10 | this list of conditions and the following disclaimer in the documentation
11 | and/or other materials provided with the distribution.
12 | * Neither the name of Ondrej Zara nor the names of its contributors may be used
13 | to endorse or promote products derived from this software without specific
14 | prior written permission.
15 |
16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
20 | INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
23 | OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
25 | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 |
--------------------------------------------------------------------------------
/locale/ar.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | إنشاء جدول
5 | تحرير جدول
6 | حذف جدول
7 | محاذاة الجداول
8 | حذف جميع البيانات
9 | هل أنت متأكد من أنك تريد حذف جميع البيانات
10 | new table
11 | اختر المنطقة المحددة
12 | اسم الجول
13 | وصف الجدول
14 |
15 |
16 | إنشاء حقل
17 | تحرير حقل
18 | حذف حقل
19 | أعلى
20 | أسفل
21 | new field
22 | إنشاء مفتاح خارجي
23 | اختر الجدول المطلوب
24 | ربط حقل بمفتاح خارجي
25 | اختر الحقل المطلوب
26 | حذف مفتاح خارجي
27 | هل أنت متأكد من أنك تريد حذف الجدول
28 | هل أنت متأكد من أنك تريد حذف الحقل
29 |
30 |
31 | الإسم
32 | النوع
33 | الحجم
34 | الإفتراضي
35 | NOT NULL
36 | NULL
37 | ترقيم تلقائي
38 | تحرير تعليق
39 | اكتب تعليقاً لهذا الحقل
40 |
41 |
42 | موافق
43 | إلغاء
44 | يرجى الإنتظار ...
45 | الخيارات
46 | لغة العرض
47 | قاعدة البيانات المستخدمة لحفظ التصاميم
48 | بعض الخيارات يتم تفعيلها بعد تحديث الصفحة مع ملاحظة أنه يجب تفعيل (الكوكيز) لتعمل هذه الخيارات
49 | Table snap distance
50 | In pixels, 0 = disable snapping
51 | طريقة تنسيق أسماء المفاتيح الخارجية
52 | %T = الجدول الرئيسي, %R = المفتاح الرئيسي, %t = الجدول الخارجي
53 | إخفاء الخطوط عند تحريك الجدول؟
54 | رسم خطوط ناعمة (إذا كان المتصفح يدعم ذلك) ؟
55 | قلم المدقة
56 |
57 |
58 |
59 | المفاتيح
60 | المفاتيح في الجدول "%s"
61 | الأنواع:
62 | الإسم:
63 | مفاتيح الجدول
64 | الحقول المتاحة
65 | تحرير مفتاح
66 | إنشاء مفتاح
67 | حذف مفتاح
68 |
69 |
70 | حفظ / تحميل
71 | قم بوضع بيانات نموذج XML في المربع أدناه، ثم حاول مرّة أخرى.
72 | العميل
73 | الخادم
74 | المدخلات / المخرجات
75 | حفظ كنموذح XML
76 | إستيراد نموذج XML
77 | حفظ كنموذج SQL
78 | Server backend:
79 | حفظ
80 | تحميل
81 | List items
82 | إستيراد من قاعدة بيانات
83 | Enter keyword under which your design was saved:
84 | Enter keyword under which your design will be saved:
85 | أدخل إسم قاعدة البيانات التي تريد إستيرادها:
86 | رد الخادم
87 | تم الحفظ بنجاح
88 | لم يتم العثور عليه
89 | خطأ داخلي في الخادم
90 | الخاصية غير موجودة
91 | الخدمة غير متوفرة
92 |
93 |
94 | خطأ في نموذح XML
95 | التوثيق
96 |
97 |
98 |
--------------------------------------------------------------------------------
/locale/cs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Přidat tabulku
5 | Upravit tabulku
6 | Smazat tabulku
7 | Smazat tabulky
8 | Srovnat tabulky
9 | Zrušit tabulky
10 | Opravdu zrušit všechny tabulky
11 | nová tabulka
12 | umístit tabulku
13 | Jméno
14 | Komentář
15 |
16 |
17 | Přidat položku
18 | Upravit položku
19 | Smazat položku
20 | Nahoru
21 | Dolů
22 | nová položka
23 | Vyrobit cizí klíč
24 | klikni na cílovou tabulku
25 | Propojit cizí klíč
26 | klikni na cílové pole
27 | Smazat cizí klíč
28 | Opravdu smazat tabulku
29 | Opravdu smazat položku
30 |
31 |
32 | Jméno
33 | Typ
34 | Velikost
35 | Výchozí
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Upravit komentář
40 | VLožte komentář pro tuto položku
41 |
42 |
43 | OK
44 | Storno
45 | Prosím čekejte...
46 | Nastavení
47 | Jazyk
48 | Databáze pro nová schémata
49 | Některá nastavení se projeví až po znovunačtení stránky. Aby nastavení fungovala, je nutné mít zapnuté cookies.
50 | Vzdálenost přichytávání tabulek
51 | V pixelech, 0 = bez přichytávání
52 | Vzor pro cizí jména
53 | %T = primární tabulka, %R = primární klíč, %t = cizí tabulka
54 | Schovat spojovníky při tažení tabulkou?
55 | Vykreslovat oblé spojovníky (pakliže to prohlížeč podporuje)?
56 | Zobrazovat velikost polí v tabulce?
57 | Zobrazovat datový typ polí v tabulce?
58 | Styl
59 |
60 |
61 | Klíče
62 | Klíče v tabulce "%s"
63 | Typ:
64 | Název:
65 | Položky v klíči
66 | Dostupné položky
67 | Upravit klíč
68 | Přidat klíč
69 | Smazat klíč
70 |
71 |
72 | Uložit / Načíst
73 | Prosím vložte XML data do textového pole níže.
74 | Klient
75 | Server
76 | Vstup / Výstup
77 | Uložit XML
78 | Načíst XML
79 | Uložit v prohlížeči
80 | Načíst z prohlížeče
81 | Generovat SQL
82 | Server backend:
83 | Uložit
84 | Rychle uložit
85 | Načíst
86 | Vypsat položky
87 | Importovat z databáze
88 | Zadejte označení, pod kterým bylo vaše schéma uloženo:
89 | Zadejte označení, pod kterým bude vaše schéma uloženo:
90 | Zadejte název databáze k importu:
91 | Odpověď od serveru
92 | Uloženo
93 | Neexistuje
94 | Vnitřní chyba serveru
95 | Není implementováno
96 | Služba není dostupná
97 |
98 |
99 | XML chyba
100 | Dokumentace
101 |
102 |
103 |
--------------------------------------------------------------------------------
/locale/de.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tabelle hinzufügen
5 | Tabelle bearbeiten
6 | Tabelle entfernen
7 | Tabellen entfernen
8 | Tabellen ausrichten
9 | Tabellen löschen
10 | Wirklich alle Tabellen löschen
11 | Neue Tabelle
12 | Tabelle platzieren
13 | Name
14 | Kommentar
15 |
16 |
17 | Feld hinzufügen
18 | Feld bearbeiten
19 | Feld entfernen
20 | Hoch
21 | Runter
22 | Neues Feld
23 | Fremdschlüssel erstellen
24 | Ziel-Tabelle wählen
25 | Fremdschlüssel Verknüpfung
26 | Ziel-Zeile auswählen
27 | Ziel-Zeile entfernen
28 | Tabelle wirklich löschen
29 | Feld wirklich löschen
30 |
31 |
32 | Name
33 | Typ
34 | Größe
35 | Default
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Kommentar bearbeiten
40 | Kommentar zu diesem Feld eintragen:
41 |
42 |
43 | OK
44 | Abbrechen
45 | Bitte warten...
46 | Einstellungen
47 | Sprache
48 | Datenbank für neue Diagramme
49 | Einige Optionen werden erst nach einem erneutem Seitenaufruf wirksam. Cookies müssen erlaubt sein.
50 | Tabellen Ausrichtungsabstand
51 | in Pixel, 0 = einrasten deaktivieren
52 | Format für die Namen der Fremdschlüssel
53 | %T = Primärtabelle, %R = Primärschlüssel, %t = Fremdtabelle
54 | Verstecke Verbindungslinien beim Bewegen von Tabellen?
55 | Zeichne gekrümmte Verbindungslinien (Browser-abhängig)?
56 | Zeige Feldgröße im Tabellendesign?
57 | Zeige Felddatentyp im Tabellendesign?
58 | Stil
59 |
60 |
61 | Schlüssel
62 | Schlüssel in Tabelle "%s"
63 | Typ:
64 | Name:
65 | Felder im Schlüssel
66 | Verfügbare Felder
67 | Schlüssel bearbeiten
68 | Schlüssel hinzufügen
69 | Schlüssel entfernen
70 |
71 |
72 | Speichern / Laden
73 | Bitte fügen Sie die XML-Daten in das untere Textfeld ein und versuchen Sie es erneut.
74 | Client
75 | Server
76 | Eingabe / Ausgabe
77 | XML speichern
78 | XML laden
79 | In Browser speichern
80 | Von Browser laden
81 | Von Browser auflisten
82 | In Dropbox speichern
83 | Von Dropbox laden
84 | Von Dropbox auflisten
85 | SQL erzeugen
86 | Server Basis:
87 | Speichern
88 | Schnellspeichern
89 | Laden
90 | Einträge auflisten
91 | Import aus DB
92 | Geben Sie das Stichwort ihres Diagramms ein, unter dem es gespeichert wurde:
93 | Geben Sie das Stichwort ihres Diagramms ein, unter dem es gespeichert werden soll:
94 | Geben Sie den Namen der zu importierenden Datenbank ein:
95 | Server Antwort
96 | gespeichert
97 | Nicht gefunden
98 | Interner Server Fehler
99 | Nicht implementiert
100 | Dienst nicht erreichbar
101 |
102 |
103 | XML Fehler
104 | Dokumentation
105 |
106 |
107 |
--------------------------------------------------------------------------------
/locale/el.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Προσθήκη πίνακα
5 | Επεξεργασία πίνακα
6 | Διαγραφή πίνακα
7 | Διαγραφή πινάκων
8 | Στοίχιση Πινάκων
9 | Καθαρισμός πινάκων
10 | Διαγραφή όλων των πινάκων
11 | Νέος πίνακας
12 | τοποθέτηση πίνακα
13 | Όνομα
14 | Σχόλιο
15 |
16 |
17 | Προσθήκη πεδίου
18 | Επεξεργασία πεδίου
19 | Διαγραφή πεδίου
20 | Πάνω
21 | Κάτω
22 | νέο πεδίο
23 | Δημιουργία ξένου κλειδιού
24 | Κάντε κλικ στο άλλο πίνακα
25 | Σένδεση ξένου κλειδιού
26 | Κάντε κλικ στη γραμμή
27 | Κάντε κλικ πεδίου
28 | Διαγραφή πίνακα. Είστε σίγουρος
29 | Διαγραφή πεδίου. Είστε σίγουρος
30 |
31 |
32 | Όνομα
33 | Τύπος
34 | Μέγεθος
35 | Προεπιλογή
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Επεξεργασία σχολίου
40 | Σχολιάστε γι' αυτό το πεδίο
41 |
42 |
43 | OK
44 | Άκυρο
45 | Παρακαλώ περιμένετε...
46 | Επιλογές
47 | Γλώσσα
48 | Βάση δεδομένων για νέα σχέδιαγράμματα
49 | Μερικές επιλογές ενεργοποιούνται μόνο μετά από καθολική ανανέωση της σελίδας.Τα Cookies πρέπει να είναι ενεργοποιημένα για να λειτουργούν οι επιλογές.
50 | Απόσταση πινάκων
51 | Σε pixels, 0 = απενεργοποίηση απόστασης
52 | Πρότυπο για ξένα κλειδιά
53 | %T = πρωτεύων πίνακας, %R = προτεύον κλειδί, %t = ξένος πίνακας
54 | Απόκρυψη συνδέσμων όταν σύρονται οι πίνακες;
55 | Διάγραμμα με ομαλούς συνδέσμους(αν παρέχεται από τον περιηγητή);
56 | Στυλ
57 |
58 |
59 |
60 | Κλειδιά
61 | Κλειδιά στον πίνακα "%s"
62 | Τύπος:
63 | Όνομα:
64 | Πεδία σε κλειδιά
65 | Διαθέσιμα πεδία
66 | Επεξεργασία κλειδιού
67 | Προσθήκη κλειδιού
68 | Διαγραφή κλειδιού
69 |
70 |
71 | Αποθήκ./Άνοιγμα
72 | Κάντε επικόλληση των δεδομένων XML στο πεδίο κειμένου παρακάτω και δοκιμάστε ξανά.
73 | Πελάτης
74 | Διακομιστής
75 | Εισαγωγή/Εξαγωγή
76 | Αποθήκευση XML
77 | Άνοιγμα XML
78 | Δημιουργία SQL
79 | Διακομιστής:
80 | Αποθήκευση
81 | Άνοιγμα
82 | Εμφάνιση λίστας
83 | Εισαγωγή από βάση δεδομένων
84 | Πληκτρολογήστε το τίτλο του αποθηκευμένου σχεδιαγράμματος:
85 | Πληκτρολογήστε το τίτλο για την αποθήκευση του σχεδιαγράμματος:
86 | Δώστς όνομα βάσης δεδομένων για εισαγωγή:
87 | Απάντηση διακομιστή
88 | Αποθηκεύθηκε
89 | Δεν βρέθηκε
90 | Εσωτερικό σφάλμα διακομιστή
91 | Χωρίς σχεδίαση
92 | Μη-διαθέσιμη Παροχή
93 |
94 |
95 | Σφάλμα XML
96 | Οδηγίες
97 |
98 |
99 |
--------------------------------------------------------------------------------
/locale/en.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Add table
5 | Edit table
6 | Remove table
7 | Remove tables
8 | Align tables
9 | Clear tables
10 | Really delete all tables
11 | new table
12 | place table
13 | Name
14 | Comment
15 |
16 |
17 | Add field
18 | Edit field
19 | Remove field
20 | Up
21 | Down
22 | new field
23 | Create foreign key
24 | click target table
25 | Connect foreign key
26 | click target row
27 | Remove foreign key
28 | Really delete table
29 | Really delete field
30 |
31 |
32 | Name
33 | Type
34 | Size
35 | Default
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Edit comment
40 | Enter comment for this field
41 |
42 |
43 | OK
44 | Cancel
45 | Please wait...
46 | Options
47 | Language
48 | Database for new designs
49 | Some options are applied only after full page reload. Cookies must be enabled for options to work.
50 | Table snap distance
51 | In pixels, 0 = disable snapping
52 | Pattern for foreign names
53 | %T = primary table, %R = primary key, %t = foreign table
54 | Hide connectors on table drag?
55 | Draw smooth connectors (if supported by browser)?
56 | Show field size in table design?
57 | Show field datatype in table design?
58 | Style
59 |
60 |
61 | Keys
62 | Keys in table "%s"
63 | Type:
64 | Name:
65 | Fields in key
66 | Available fields
67 | Edit key
68 | Add key
69 | Remove key
70 |
71 |
72 | Save / Load
73 | Please paste XML data into the text area below and try again.
74 | Client
75 | Server
76 | Input / Output
77 | Save XML
78 | Load XML
79 | Save in Browser
80 | Load from Browser
81 | List from Browser
82 | Save to Dropbox
83 | Load from Dropbox
84 | List from Dropbox
85 | Generate SQL
86 | Server backend:
87 | Save
88 | Quicksave
89 | Load
90 | List items
91 | Import from DB
92 | Enter keyword under which your design was saved:
93 | Enter keyword under which your design will be saved:
94 | Enter name of database to be imported:
95 | Server response
96 | Saved
97 | Not Found
98 | Internal Server Error
99 | Not Implemented
100 | Service Unavailable
101 |
102 |
103 | XML error
104 | Documentation
105 |
106 |
107 |
--------------------------------------------------------------------------------
/locale/eo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Aldoni tabelon
5 | Modifi la tabelon
6 | Forigi la tabelon
7 | Forigi la tabelojn
8 | Ĝisrandigi la tabelojn
9 | Vakigi la tabelon
10 | Ja forigi ĉiujn tabelojn
11 | nova tabelo
12 | pozicii la tabelon
13 | Nomo
14 | Komento
15 |
16 |
17 | Aldoni kampon
18 | Modifi la kampon
19 | Forigi la kampon
20 | Supre
21 | Sube
22 | nova kampo
23 | Krei fremdan ŝlosilon
24 | alklaki la celan tabelon
25 | Konekti fremdan ŝlosilon
26 | alklaki la celan atributon
27 | Forigi fremdan ŝlosilon
28 | Ja forigi la tabelon
29 | Ja forigi la kampon
30 |
31 |
32 | Nomo
33 | Tipo
34 | Grandeco
35 | Defaŭlte
36 | NE NUL
37 | Senvalora
38 | Memalkremento
39 | Modifi la komenton
40 | Entajpi komenton por tiu kampo
41 |
42 |
43 | Jes
44 | Rezigni
45 | Bonvolu atendi...
46 | Agordoj
47 | Lingvo
48 | Datumbazoj por novaj kreoj
49 | Kelkaj agordoj estas aplikotaj post plena ŝarĝo de paĝo. Kuketoj devas esti ebligataj por ke la agordoj funkcias.
50 | Kapto-distanco de tabelo
51 | En rastrumeroj, 0 = malebligi kapton
52 | Motivo por fremdaj nomoj
53 | %T = ĉefa tabelo, %R = ĉefa ŝlosilo, %t = fremda tabelo
54 | Ĉu kaŝi konektiloj dum treno de tabelo?
55 | Desegni glatajn konektilojn (se subtenata de retumilo)?
56 | Show field size in table design?
57 | Show field datatype in table design?
58 | Stilo
59 |
60 |
61 | Klavoj
62 | Ŝlosiloj en la tabelo "%s"
63 | Tipo:
64 | Nomo:
65 | Kampoj en klavo
66 | Disponeblaj kampoj
67 | Modifi ŝlosilon
68 | Aldoni ŝlosilon
69 | Forigi ŝlosilon
70 |
71 |
72 | Konservi / Ŝargi
73 | Bonvolu alglui XML datumon en la tekst-zono sube kaj provi de nove.
74 | Kliento
75 | Servilo
76 | Enigo / Eligo
77 | Konservi XML
78 | Ŝargi XML
79 | Krei SQL
80 | Servila administro:
81 | Konservi
82 | Quicksave
83 | Ŝargi
84 | Listigi erojn
85 | Importi el datumbazo
86 | Entajpi ŝlosilvorton per kiu via fasonado estis konservita:
87 | Entajpi ŝlosilvorton per kiu via fasonado estos konservita:
88 | Entajpi la nomon de datumbazo importenda:
89 | Respondo de servilo
90 | Konservita
91 | Netrovita
92 | Interna Servilo Eraro
93 | Ne funkciigata
94 | Servo Nedisponebla
95 |
96 |
97 | XML-eraro
98 | Dokumentaro
99 |
100 |
101 |
--------------------------------------------------------------------------------
/locale/es.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Agregar tabla
5 | Editar tabla
6 | Eliminar tabla
7 | Eliminar tablas
8 | Alinear tablas
9 | Limpiar tablas
10 | ¿Realmente deseas eliminar todas las tablas
11 | Nueva tabla
12 | Colocar tabla
13 | Nombre
14 | Comentario
15 |
16 |
17 | Agregar campo
18 | Editar campo
19 | Eliminar campo
20 | Arriba
21 | Abajo
22 | Nuevo campo
23 | Crear llave foránea
24 | Haz clic en tabla objetivo
25 | Conectar llave foránea
26 | Haz clic en campo objetivo
27 | Eliminar clave foránea
28 | ¿Realmente deseas borrar la tabla
29 | ¿Realmente deseas borrar el campo
30 |
31 |
32 | Nombre
33 | Tipo
34 | Tamaño
35 | Predeterminado
36 | NOT NULL
37 | NULL
38 | Auto incremento
39 | Editar comentario
40 | Ingresa un comentario para este campo
41 |
42 |
43 | Aceptar
44 | Cancelar
45 | Por favor, espera...
46 | Opciones
47 | Idioma
48 | Base de datos para nuevos diseños
49 | Algunas opciones se aplican solo despúes de recargar totalmente la pagina. Las cookies deben estar habilitadas para que funcione la personalización.
50 | Distancia de ajuste de tablas
51 | En píxeles, 0 = deshabilitar ajuste
52 | Patrón para nombres de llave foránea
53 | %T = tabla primaria, %R = clave primaria, %t = tabla foránea
54 | ¿Ocultar conectores de tablas al arrastrar?
55 | ¿Dibujar conectores suaves (si son soportados por el navegador)?
56 | ¿Mostrar tamaño del campo en el diseño de tabla?
57 | ¿Mostrar tipo de dato del campo en el diseño de tabla?
58 | Estilo
59 |
60 |
61 | Claves
62 | Llaves en la tabla "%s"
63 | Tipo:
64 | Nombre:
65 | Campos de llave
66 | Campos disponibles
67 | Editar llave
68 | Agregar llave
69 | Eliminar llave
70 |
71 |
72 | Guardar / Cargar
73 | Por favor, pega los datos XML dentro del área de texto de abajo y vuelve a intentar.
74 | Cliente
75 | Servidor
76 | Entrada / Salida
77 | Guardar XML
78 | Cargar XML
79 | Guardar en el Navegador
80 | Cargar desde el Navegador
81 | Listar desde el Navegador
82 | Guardar en Dropbox
83 | Cargar desde Dropbox
84 | Listar desde Dropbox
85 | Generar SQL
86 | Servidor de fondo:
87 | Guardar
88 | Guardar rápido
89 | Cargar
90 | Listar elementos
91 | Importar desde Base de Datos
92 | Ingrese la palabra clave bajo la cual tu diseño fue guardado:
93 | Ingrese una palabra clave bajo la cual tu diseño será guardado:
94 | Ingresa el nombre de la base de datos a ser importada:
95 | Respuesta del servidor
96 | Guardado
97 | No Encontrado
98 | Error Interno del Servidor
99 | No Implementado
100 | Servicio No Disponible
101 |
102 |
103 | Error XML
104 | Documentación
105 |
106 |
107 |
--------------------------------------------------------------------------------
/locale/fr.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Ajouter une table
5 | Éditer la table
6 | Supprimer la table
7 | Supprimer les tables
8 | Aligner les tables
9 | Supprimer les tables
10 | Vraiment supprimer toutes les tables
11 | nouvelle table
12 | positionner la table
13 | Nom
14 | Commentaire
15 |
16 |
17 | Ajouter un champ
18 | Éditer un champ
19 | Supprimer le champ
20 | Remonter
21 | Descendre
22 | Éditer un champ
23 | Créer une clé étrangère
24 | Cliquez la destination
25 | Connecter une clé étrangère
26 | Cliquez la propriété cible
27 | Supprimer la clé étrangère
28 | Voulez-vous vraiment supprimer cette table ?
29 | Voulez-vous vraiment supprimer ce champ ?
30 |
31 |
32 | Nom
33 | Type
34 | Taille
35 | Défaut
36 | NON NUL
37 | valeur nulle
38 | Auto-incrémental
39 | Éditer le commentaire
40 | Saisir un commentaire à propos de ce champ
41 |
42 |
43 | OK
44 | Annuler
45 | Veuillez patienter...
46 | Options
47 | Langue
48 | Format des nouvelles base de données
49 | Ces options ne seront appliquées qu'après le rafraichissement complet de la page. Les cookies doivent être autorisés.
50 | Magnétisme des tables
51 | En pixels, 0 = magnétisme désactivé
52 | Motif pour les noms de clés étrangères
53 | %T = table primaire, %R = clé primaire, %t = table étrangère
54 | Cacher les connecteurs lors du déplacement des tables ?
55 | Dessiner des connecteurs « adoucis » (si le navigateur le supporte) ?
56 | Afficher la taille du champ dans le schéma de table ?
57 | Afficher le type du champ dans le schéma de table ?
58 | Style
59 |
60 |
61 | Clés
62 | Clés dans la table « %s »
63 | Type :
64 | Nom :
65 | Champs de clé
66 | Champs disponibles
67 | Éditer la clé
68 | Ajouter une clé
69 | Supprimer la clé
70 |
71 |
72 | Enregistrer / Charger
73 | Merci de coller les données XML dans le champs prévu avant de ré-essayer.
74 | Client
75 | Serveur
76 | Entrée / Sortie
77 | Enregistrer XML
78 | Charger XML
79 | Enregistrer dans le navigateur
80 | Charger depuis le navigateur
81 | Lister depuis le navigateur
82 | Génerer SQL
83 | Méthode du serveur :
84 | Enregistrer
85 | Enregistrer rapidement
86 | Charger
87 | Éléments disponibles
88 | Importer d'une base de données
89 | Saisir le mot-clé de votre schéma :
90 | Saisir un mot-clé pour sauvegarder votre schéma :
91 | Saisir le nom de la base de données à importer :
92 | Réponse du serveur
93 | Sauvegardé
94 | Introuvable
95 | Erreur interne du serveur
96 | Non Implementé
97 | Service indisponible
98 |
99 |
100 | Erreur XML
101 | Documentation
102 |
103 |
104 |
--------------------------------------------------------------------------------
/locale/hu.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tábla létrehozása
5 | Tábla módosítása
6 | Tábla törlése
7 | Táblak törlése
8 | Táblák rendezése
9 | Táblák törlése
10 | Valóban töröljem az összes táblát
11 | tábla létrehozása
12 | tábla elhelyezése
13 | Név
14 | Megjegyzés
15 |
16 |
17 | Mező létrehozása
18 | Mező módosítása
19 | Mező törlése
20 | Fel
21 | Le
22 | új mező
23 | Idegen kulcs létrehozása
24 | kattintson a cél-táblára
25 | Idegen kulcs kapcsolása
26 | kattintson a cél-mezőre
27 | Mező kulcs létrehozása
28 | Valóban töröljem a táblát
29 | Valóban töröljem a mezőt
30 |
31 |
32 | Név
33 | Típus
34 | Méret
35 | Alapérték
36 | NOT NULL
37 | NULL
38 | Automatikus növelés
39 | Megjegyzés módosítása
40 | Írjon megjegyzést ehhez a mezőhöz
41 |
42 |
43 | OK
44 | Mégsem
45 | Kérem várjon...
46 | Beállítások
47 | Nyelv
48 | Adatbázis az új terveknek
49 | Egyes beállítások csak az oldal teljes újratöltése után érvényesülnek. A munkához szükséges engedélyezni a sütiket (cooky-kat).
50 | Táblák illesztési távolsága
51 | Pixel-ben megadva, 0 = illesztés tiltása
52 | Idegen nevek sablonja
53 | %T = elsődleges tábla, %R = elsődleges kulcs, %t = idegen tábla
54 | Elrejtsem a kapcsolókat a rajztáblán?
55 | Kapcsolók finom kirajzolása (ha a böngésző lehetővé teszi)?
56 | Stílus
57 |
58 |
59 |
60 | Kulcsok
61 | Kulcsok a "%s" táblában
62 | Típus:
63 | Név:
64 | A kulcs mezői
65 | Elérhető mezők
66 | Kulcs módosítása
67 | Kulcs létrehozása
68 | Kulcs törlése
69 |
70 |
71 | Mentés / Beolvasás
72 | Kérem illessze be az XML-tartalmat az alábbi szöveges mezőbe, és próbálja újra.
73 | Kliens
74 | Szerver
75 | Bemenet / Kimenet
76 | XML mentése
77 | XML beolvasása
78 | SQL generálása
79 | Szerver végpont:
80 | Mentés
81 | Betöltés
82 | Tételek listázása
83 | Importálás adatbázisból
84 | Írja be a kulcsszót, amely alapján a tervet elmentette:
85 | Írja be a kulcsszót, amely alapján a tervet el szeretné menteni:
86 | Írja be az importálandó adatbázis nevét:
87 | A szerver válasza
88 | Elmentve
89 | Nem találom
90 | Belső szerver hiba
91 | Nem lett végrehajtva
92 | Szolgáltatás nem elérhető
93 |
94 |
95 | XML hiba
96 | Dokumentáció
97 |
98 |
99 |
--------------------------------------------------------------------------------
/locale/it.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Aggiungi tabella
5 | Modifica tabella
6 | Elimina tabella
7 | Elimina tabelle
8 | Allinea tabelle
9 | Cancella tabelle
10 | Eliminare veramente le tabelle
11 | nuova tabella
12 | posiziona la tabella
13 | Nome
14 | Oggetto
15 |
16 |
17 | Aggiungi campo
18 | Modifica campo
19 | Elimina campo
20 | Su
21 | Giù
22 | nuovo campo
23 | Crea chiave esterna
24 | fai clic sulla destinazione
25 | Connetti chiave esterna
26 | fai clic sulla riga di destinazione
27 | Rimuovi chiave esterna
28 | Cancellare veramente la tabella
29 | Cancellare veramente la riga
30 |
31 |
32 | Nome
33 | Tipo
34 | Dimensione
35 | Predefinito
36 | QUALCOSA
37 | NULL
38 | Autoincremento
39 | Modifica commento
40 | Inserisci commento per questo campo
41 |
42 |
43 | Conferma
44 | Annulla
45 | Attendere...
46 | Opzioni
47 | Lingua
48 | Database per nuovi progetti
49 | Alcune opzioni diventano attive solo dopo il ricaricamento della pagina. Affinché le opzioni vengano mantenute, devono essere abilitati i cookies.
50 | Griglia magnetica
51 | In pixel, 0 = magnetismo disabilitato
52 | Modello per le chiavi esterne
53 | %T = tabella principale, %R = chiave primaria, %t = tabella secondaria
54 | Nascondi i connettori durante il trascinamento?
55 | Disegna connettori arrotondati (se supportato dal browser)?
56 | Show field size in table design?
57 | Show field datatype in table design?
58 | Stile
59 |
60 |
61 | Chiavi
62 | Chiavi nella tabella "%s"
63 | Tipo:
64 | Nome:
65 | Campi nella chiave
66 | Campi disponibili
67 | Modifica chiave
68 | Aggiungi chiave
69 | Rimuovi chiave
70 |
71 |
72 | Salva / Carica
73 | Reincolla i dati XML nell'area sottostante e prova di nuovo.
74 | Intestatario
75 | Server
76 | Ingresso / Uscita
77 | Salva XML
78 | Carica XML
79 | Genera SQL
80 | Server di backend:
81 | Salva
82 | Quicksave
83 | Carica
84 | Elenca elementi
85 | Importa dal DB
86 | Inserisci la parola chiave con cui è stato salvato il progetto:
87 | Inserisci la parola chiave con cui salvare il progetto:
88 | Inserisci il nome del database da importare
89 | Risposta del server
90 | Salvato
91 | Non trovato
92 | Errore interno del server
93 | Non implementato
94 | Servizio non disponibile
95 |
96 |
97 | Errore XML
98 | Documentazione
99 |
100 |
101 |
--------------------------------------------------------------------------------
/locale/ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | テーブルを追加
5 | テーブルを編集
6 | テーブルを削除
7 | テーブルを整列
8 | 全テーブルを削除
9 | 全テーブルを削除しますか
10 | 新規テーブル
11 | テーブルを配置
12 | テーブル名
13 | コメント
14 |
15 |
16 | 列を追加
17 | 列を編集
18 | 列を削除
19 | 上に
20 | 下に
21 | 新規列
22 | 外部キーとして移動
23 | 対象テーブルを選択
24 | 外部キーを接続
25 | 対象列を選択
26 | 外部キーを削除
27 | テーブルを削除しますか
28 | 列を削除しますか
29 |
30 |
31 | 列名
32 | 型
33 | サイズ
34 | デフォルト値
35 | NOT NULL
36 | NULL
37 | 自動採番
38 | コメントを編集
39 | 列のコメントを入力
40 |
41 |
42 | OK
43 | キャンセル
44 | しばらくお待ちください...
45 | オプション
46 | 言語
47 | 新しい設計で使用するデータベース
48 | 印は再読込後に反映されるオプションです。これらを動作させるにはクッキーを有効にしてください。
49 | テーブルのスナップ単位
50 | ピクセル(0 = スナップ無効)
51 | 外部キーの命名規則
52 | %T = 親テーブル, %R = プライマリーキー, %t = 子テーブル
53 | テーブルをドラッグ中は線を隠す
54 | 滑らかな線を使う(要ブラウザのサポート)
55 | フィールドサイズを表示
56 | フィールドタイプを表示
57 | スタイル
58 |
59 |
60 | キーの設定
61 | テーブル"%s"のキー
62 | 種類:
63 | キー名:
64 | キーの対象列
65 | 選択可能な列
66 | キーを編集
67 | キーを追加
68 | キーを削除
69 |
70 |
71 | 保存/読み込み
72 | 下の入出力欄にXMLデータを貼りつけてから実行してください。
73 | クライアント
74 | サーバ
75 | 入出力欄
76 | XMLを出力
77 | XMLを読込
78 | SQLを生成
79 | ブラウザに保存
80 | ブラウザから読込
81 | ブラウザの保存一覧
82 | サーバのバックエンド:
83 | 保存
84 | Quicksave
85 | 読込
86 | 一覧
87 | DBからインポート
88 | 読み込む設計名を入力してください:
89 | 保存する設計名を入力してください:
90 | インポートするDB名を入力してください:
91 | サーバレスポンス
92 | Saved
93 | Not Found
94 | Internal Server Error
95 | Not Implemented
96 | Service Unavailable
97 |
98 |
99 | XMLエラー
100 | ドキュメント
101 |
102 |
103 |
--------------------------------------------------------------------------------
/locale/ko.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 테이블 추가
5 | 테이블 수정
6 | 테이블 삭제
7 | 선택한 테이블 삭제
8 | 테이블 정렬
9 | 전체 테이블 삭제
10 | 정말로 전체 테이블을 삭제하시겠습니까
11 | 신규 테이블
12 | 테이블 놓기
13 | 이름
14 | 설명
15 |
16 |
17 | 필드 추가
18 | 필드 수정
19 | 필드 삭제
20 | 위로
21 | 아래로
22 | 신규 필드
23 | 외래 키 생성
24 | 대상 테이블 선택
25 | 외래 키 연결
26 | 대상 필드 선택
27 | 외래 키 삭제
28 | 정말로 테이블을 삭제하시겠습니까
29 | 정말로 필드를 삭제하시겠습니까
30 |
31 |
32 | 이름
33 | 타입
34 | 사이즈
35 | 기본값
36 | NOT NULL
37 | NULL
38 | 자동 증가
39 | 설명 수정
40 | 이 필드의 설명을 입력해 주세요
41 |
42 |
43 | 확인
44 | 취소
45 | 잠시만 기다려주세요...
46 | 옵션
47 | 언어
48 | 새로운 디자인의 데이터베이스
49 | 몇몇 옵션들은 페이지를 다시 불러와야 적용이 됩니다. 이를 위해서는 쿠키 사용이 활성화 되어 있어야 합니다.
50 | 테이블 스냅 거리
51 | 픽셀, 0 = 스냅 비활성화
52 | 외래 키 명명 규식
53 | %T = 기본 테이블, %R = 기본 키, %t = 외래 테이블
54 | 테이블을 이동할 때, 연결선 숨기기
55 | 부드러운 연결선 사용 (브라우저 지원 필요)?
56 | 디자인에서 필드 사이즈를 표시
57 | 디자인에서 필드 타입을 표시
58 | 스타일
59 |
60 |
61 | 키 설정
62 | "%s" 테이블 키 정보
63 | 타입:
64 | 이름:
65 | 키 필드
66 | 추가 가능한 필드
67 | 키 수정
68 | 키 추가
69 | 키 삭제
70 |
71 |
72 | 저장 / 불러오기
73 | 불러오려고 하는 XML 데이터를 아래 텍스트 영역에 붙여 넣고 다시 시도해 주세요.
74 | 클라이언트
75 | 서버
76 | 입력 / 출력
77 | XML 저장
78 | XML 불러오기
79 | 브라우저에 저장
80 | 브라우저에서 불러오기
81 | 브라우저 저장 목록
82 | 드롭박스에 저장
83 | 드롭박스에서 불러오기
84 | 드롭박스 저장 목록
85 | SQL 생성
86 | 벡엔드 서버:
87 | 저장
88 | 빠른저장
89 | 불러오기
90 | 목록보기
91 | DB에서 가져오기
92 | 저장된 디자인의 키워드를 입력해 주세요:
93 | 저장할 디자인의 키워드를 입력해 주세요:
94 | 가져올 데이터베이스의 이름을 입력해 주세요:
95 | 서버 응답
96 | 저장되었습니다
97 | 찾을 수 없습니다(Not Found)
98 | 내부 서버 에러(Internal Server Error)
99 | 구현되지 않았습니다(Not Implemented)
100 | 서비스를 사용할 수 없습니다(Service Unavailable)
101 |
102 |
103 | XML 에러
104 | 문서
105 |
106 |
107 |
--------------------------------------------------------------------------------
/locale/nl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tabel toevoegen
5 | Bewerk tabel
6 | Verwijder tabel
7 | Verwijder tabellen
8 | Uitlijnen tabellen
9 | Tabellen schonen
10 | Wilt u echt alle tabellen verwijderen
11 | Nieuwe tabel
12 | Positioneer tabel
13 | Naam
14 | Opmerkingen
15 |
16 |
17 | Veld toevoegen
18 | Veld bewerken
19 | Veld verwijderen
20 | Op
21 | Neer
22 | nieuwe veld
23 | Maak relatie
24 | Click op doeltabel
25 | Verbind relatie
26 | Click op doelveld
27 | Verwijder relatie
28 | Tabel verwijderen?
29 | Veld verwijderen?
30 |
31 |
32 | Naam
33 | Type
34 | Omvang
35 | Standaard
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Bewerk opmerkingen
40 | Geef opmerkingen voor dit veld
41 |
42 |
43 | OK
44 | Annuleer
45 | Even geduld...
46 | Opties
47 | Taal
48 | Database voor nieuwe ontwerpen
49 | Sommige opties worden pas geldig na het volledig opnieuw laden van de pagina. Cookies moeten zijn toegestaan voor een juiste werking.
50 | Tabel snap afstand
51 | In pixels, 0 = uitzetten snap
52 | Patroon voor relatie velden
53 | %T = primaire tabel, %R = primaire sleutel, %t = verwezen tabel.
54 | Verberg relaties tijdens verplaatsen van de tabel?
55 | Teken gekromde relaties (als de browser dit ondersteund)?
56 | Toon veld omvang in tabelontwerp?
57 | Toon veld type in tabelontwerp?
58 | Stijl
59 |
60 |
61 | Sleutels
62 | Sleutels in tabel "%s"
63 | Type:
64 | Naam:
65 | Velden in sleutel
66 | Beschikbare velden
67 | Bewerk sleutel
68 | Voeg sleutel toe
69 | Verwijder sleutel
70 |
71 |
72 | Opslaan / laden
73 | Please paste XML data into the text area below and try again.
74 | Lokaal
75 | Server
76 | Input / Output
77 | XML Opslaan
78 | XML Laden
79 | Opslaan in Browser
80 | Laden uit Browser
81 | Genereer SQL
82 | Server:
83 | Opslaan
84 | Snel opslaan
85 | Laden
86 | Toon lijst
87 | Import uit DB
88 | Enter keyword under which your design was saved:
89 | Enter keyword under which your design will be saved:
90 | Enter name of database to be imported:
91 | Reactie van server
92 | Opgeslagen
93 | Niet gevonden
94 | Interne Server Fout
95 | Niet geimplementeerd
96 | Niet beschikbaar
97 |
98 |
99 | XML fout
100 | Documentatie
101 |
102 |
103 |
--------------------------------------------------------------------------------
/locale/pl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Dodaj tabelę
5 | Edytuj tabelę
6 | Usuń tabelę
7 | Usuń tabele
8 | Wyrównaj tabele
9 | Wyczyść tabele
10 | Czy na pewno usunąć wszystkie tabele
11 | nowa tabela
12 | miejsce tabeli
13 | Nazwa
14 | Opis
15 |
16 |
17 | Dodaj pole
18 | Edytuj pole
19 | Usuń pole
20 | W górę
21 | W dół
22 | nowe pole
23 | Utwórz klucz zewnętrzny
24 | kliknij w docelową tabelę
25 | Utwórz klucz zewnętrzny
26 | kliknij w docelową tabelę
27 | Smazat cizí klíč
28 | Czy na pewno usunąć tabelę
29 | Czy na pewno usunąć pole
30 |
31 |
32 | Nazwa
33 | Typ
34 | Rozmiar
35 | Domyślnie
36 | Niepuste
37 | Zerowy
38 | Automatyczne zwiększanie o 1
39 | Edytuj komentarz
40 | Wpisz komentarz dla tego pola
41 |
42 |
43 | OK
44 | Anuluj
45 | Proszę czekać...
46 | Opcje
47 | Język
48 | Bazy danych dla nowych projektów
49 | Niektóre opcje są zatwierdzane wyłącznie po kompletnym przeładowaniu strony. Ciasteczka muszą być akceptowane dla działania opcji.
50 | Ustalana odległość tabel
51 | W pikselach, 0 = wyłącznie ustalania
52 | Wzorzec dla zewnętrznych nazw
53 | %T = główna tabela, %R = klucz główny, %t = zewnętrzna tabela
54 | Ukryć złącza w tabeli podczas przeciągania?
55 | Rysuj pływające złącza (jesli wsperane jest przez przeglądarkę)?
56 | Show field size in table design?
57 | Show field datatype in table design?
58 | Styl
59 |
60 |
61 | Klucze
62 | Klucze w tabeli "%s"
63 | Typ:
64 | Nazwa:
65 | Pola w kluczu
66 | Dostępne pola
67 | Edytuj klucz
68 | Dodaj klucz
69 | Usuń klucz
70 |
71 |
72 | Zapisz / Otwórz
73 | Proszę wklej kod XML w poniższe pole tekstowe i spróbuj ponownie.
74 | Klient
75 | Serwer
76 | Wejście / Wyjście
77 | Zapisz XML
78 | Załaduj XML
79 | Generuj SQL
80 | Serwer wejściowy:
81 | Zapisz
82 | Quicksave
83 | Otwórz
84 | Lista pozycji
85 | Importuj z DB
86 | Wpisz słowo kluczowe pod którym twój projekt został zapisany:
87 | Wpisz słowo kluczowe pod którym twój projekt ma zostać zapisany:
88 | Wpisz nazwę bazy danych do zaimportowania:
89 | Odpowiedź serwera
90 | Zapisano
91 | Nie znaleziono
92 | Wewnętrzny błąd serwera
93 | Niezaimplementowane
94 | Serwer niedostępny
95 |
96 |
97 | Błąd XML
98 | Dokumentacja
99 |
100 |
101 |
--------------------------------------------------------------------------------
/locale/pt_BR.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Adicionar tabela
5 | Editar tabela
6 | Remover tabela
7 | Remover tabelas
8 | Alinhar tabelas
9 | Limpar tabelas
10 | Realmente excluir todas as tabelas
11 | Nova tabela
12 | Clique p/ adicionar
13 | Nome
14 | Comentário
15 |
16 |
17 | Adicionar campo
18 | Editar campo
19 | Remover campo
20 | Para cima
21 | Para baixo
22 | Novo campo
23 | Criar chave estrangeira
24 | Selecione a tabela alvo(destino)
25 | Conectar chave estrangeira
26 | Clique na linha alvo
27 | Remover chave estrangeira
28 | Deseja realmente deletar a tabela
29 | Deseja realmente deletar o campo
30 |
31 |
32 | Nome
33 | Tipo
34 | Tamanho
35 | Default
36 | NOT NULL
37 | NULL
38 | Auto incrementar
39 | Editar comentário
40 | Digite o comentário para este campo
41 |
42 |
43 | OK
44 | Cancelar
45 | Por favor espere...
46 | Opções
47 | Linguagem
48 | Base de Dados para os novos designs
49 | Algumas opções serão aplicadas somente depois da página totalmente regarrecada. Cookies devem ser ativados para as opções funcionarem.
50 | Distância entre as tabelas
51 | Em pixels, 0 = desativar snapping
52 | Padrão p/ nomes estrangeiros
53 | %T = tabela primária, %R = chave primária, %t = tabela estrangeira
54 | Esconder connectores na tela?
55 | Desenhar conectores suaves (se suportado pelo navegador)?
56 | Estilo
57 |
58 |
59 |
60 | Chaves
61 | Chaves na tabela "%s"
62 | Tipo:
63 | Nome:
64 | Campos na chave
65 | Campos disponíveis
66 | Editar chave
67 | Adicionar chave
68 | Remover chave
69 |
70 |
71 | Salvar / Carregar
72 | Por favor cole os dados XML na área de texto abaixo e tente novamente.
73 | Cliente
74 | Servidor
75 | Entrada / Saída
76 | Salvar XML
77 | Carregar XML
78 | Gerar SQL
79 | Parâmetros do Servidor:
80 | Salvar
81 | Carregar
82 | Listar itens
83 | Importar do BD
84 | Digite o nome o qual seu design foi salvo:
85 | Digite o nome com qual seu design será salvo:
86 | Digite o nome da base de dados à ser importada:
87 | Resposta do servidor
88 | Salvo
89 | Não Encontrado
90 | Erro Interno do Servidor
91 | Não Implementado
92 | Serviço Indisponível
93 |
94 |
95 | Erro de XML
96 | Documentação
97 |
98 |
99 |
--------------------------------------------------------------------------------
/locale/ro.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Adauga tabela
5 | Editeaza tabela
6 | Sterge tabela
7 | Sterge tabelele
8 | Aliniaza tabelele
9 | Sterge tabelele
10 | Sterge toate tabelele
11 | (nume tabela)
12 | plaseaza tabela
13 | Nume
14 | Comentariu
15 |
16 |
17 | Adauga coloana
18 | Editeaza coloana
19 | Sterge coloana
20 | Sus
21 | Jos
22 | coloana noua
23 | Creaza FK
24 | alege destinatie
25 | Conexiune FK
26 | alege destinatie
27 | Sterge FK
28 | Sterge tabela
29 | Sterge coloana
30 |
31 |
32 | Nume
33 | Tip
34 | Dimensiune
35 | Valoare default
36 | NOT NULL
37 | NULL
38 | Auto increment
39 | Editare comentariu
40 | Introduceti comentariul pentru aceasta coloana:
41 |
42 |
43 | OK
44 | Anuleaza
45 | Asteptati va rog...
46 | Optiuni
47 | Limbaj
48 | Baza de date pentru design
49 | Anumite optiuni devin active numai dupa o reincarcare completa a paginii. Cookies trebuie sa fie activate pentru browser.
50 | Distanta automata intre tabele
51 | In pixeli, 0 = dezactiveaza asezarea automata
52 | Modelul pentru nume de Foreign Keys
53 | %T = Tabela primara, %R = Primary key, %t = Tabela cu Foreign key
54 | Ascunde conexiunile la mutarea tabelei?
55 | Deseneaza folosind "smooth connectors" (daca browserul suporta)?
56 | Stil
57 |
58 |
59 |
60 | Keys / Indexes
61 | Keys / Indexes in tabela "%s"
62 | Tip:
63 | Nume:
64 | Campuri selectate
65 | Campuri disponibile
66 | Editeaza
67 | Adauga
68 | Sterge
69 |
70 |
71 | Salveaza / Incarca
72 | Introduceti codul XML si re-incercati.
73 | Client
74 | Server
75 | Input / Output
76 | Genereaza XML
77 | Incarca din XML
78 | Genereaza SQL
79 | Server backend:
80 | Salveaza
81 | Incarca
82 | Lista de salvari
83 | Import tabele din baza de date
84 | Introduceti numele sub care a fost salvat design-ul:
85 | Introduceti numele sub care va fi salvat design-ul:
86 | Introduceti numele bazei de date care va fi importata:
87 | Server response
88 | Salvare efectuata
89 | Not Found
90 | Internal Server Error
91 | Not Implemented
92 | Service Unavailable
93 |
94 |
95 | Eroare XML
96 | Documentatie
97 |
98 |
99 |
--------------------------------------------------------------------------------
/locale/ru.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Добавить таблицу
5 | Редактировать таблицу
6 | Удалить таблицу
7 | Удалить таблицы
8 | Выровнять таблицы
9 | Очистить таблицы
10 | Действительно удалить все таблицы
11 | новая таблица
12 | расположите таблицу
13 | Имя
14 | Коментарий
15 |
16 |
17 | Добавить поле
18 | Редактировать поле
19 | Удалить поле
20 | Вверх
21 | Вниз
22 | новое поле
23 | Создать внешний ключ
24 | щелкните по целевой таблице
25 | Присоединить внешний ключ
26 | щёлкните по целевой таблице
27 | Удалить внешний ключ
28 | Действительно удалить таблицу
29 | Действительно удалить поле
30 |
31 |
32 | Имя
33 | Тип
34 | Размер
35 | По умолчанию
36 | NOT NULL
37 | NULL
38 | Автоинкремент
39 | Изменить коментарий
40 | Введите коментарий для этого поля
41 |
42 |
43 | OK
44 | Отменить
45 | Пожалуйста подождите...
46 | Опции
47 | Язык
48 | База данных для новых схем
49 | Некоторые опции заработают только после полной перезагрузки страницы. Cookie должны быть включены.
50 | Шаг при перемещении таблицы
51 | В пикселях, 0 = отключить
52 | Шаблон для имён внешних ключей
53 | %T = первичная таблица, %R = первичный ключ, %t = внешняя таблица
54 | Прятать связи при перетаскивании таблиц?
55 | Рисовать сглаженные связи (если поддерживается браузером)?
56 | Показывать размеры полей таблиц?
57 | Показывать типы данных полей таблиц?
58 | Стиль
59 |
60 |
61 | Ключи
62 | Ключи в таблице "%s"
63 | Тип:
64 | Имя:
65 | Поля в ключе
66 | Доступные поля
67 | Редактировать ключ
68 | Добавить ключ
69 | Удалить ключ
70 |
71 |
72 | Сохранить / Загрузить
73 | Пожалуйста, вставьте XML данные в поле ниже и попробуйте ещё раз.
74 | Клиент
75 | Сервер
76 | Ввод / Вывод
77 | Сохранить XML
78 | Загрузить XML
79 | Сохранить в браузере
80 | Загрузить из браузера
81 | Получить список схем из браузера
82 | Сохранить в Dropbox
83 | Загрузить из Dropbox
84 | Получить список из Dropbox
85 | Генерировать SQL
86 | Серверные технологии:
87 | Сохранить
88 | Быстрое сохранение
89 | Загрузить
90 | Получить список схем
91 | Импортировать из БД
92 | Введите ключевое слово под которым сохранена ваша схема:
93 | Введите ключевое слово под которым будет сохранена ваша схема:
94 | Введите имя импортируемой базы данных:
95 | Ответ сервера
96 | Сохранено
97 | Не найдено
98 | Внутренняя ошибка сервера
99 | Не реализовано
100 | Служба недоступна
101 |
102 |
103 | Ошибка XML
104 | Документация
105 |
106 |
107 |
--------------------------------------------------------------------------------
/locale/sv.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Skapa tabell
5 | Redigera tabell
6 | Ta bort tabell
7 | Ta bort tabeller
8 | Räta upp tabeller
9 | Ta bort alla tabeller
10 | Vill du verkligen ta bort alla tabeller
11 | Ny tabell
12 | Placera tabell
13 | Namn
14 | Kommentar
15 |
16 |
17 | Lägg till fält
18 | Redigera fält
19 | Ta bort field
20 | Upp
21 | Ner
22 | Ny field
23 | Skapa främmande nyckel
24 | Klicka på motsvarande tabell
25 | Anslut främmande nycke
26 | Välj motsvarande rad
27 | Ta bort främmande nyckel
28 | Vill du verkligen ta bort denna tabell?
29 | Vill du verkligen ta bort detta fält?
30 |
31 |
32 | Namn
33 | Typ
34 | Storlek
35 | Standard
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Redigera kommentar
40 | Ange kommentar för detta fält
41 |
42 |
43 | OK
44 | Avbryt
45 | Var god vänta...
46 | Alternativ
47 | Språk
48 | Databas for nya designer
49 | Vissa alternativ ändras bara efter att du laddat om sidan. Cookies krävs för att alternativ ska fungera.
50 | Tabellers fästavstånd
51 | Ange pixlar, 0 = stäng av fästning
52 | Mönster för främmande namn
53 | %T = primär tabell, %R = primär nycke, %t = främmande tabell
54 | Dölj anslutningar när du drar i tabellen?
55 | Rita mjuka anslutningar (om din webbläsare stöder det)?
56 | Stil
57 |
58 |
59 | Nycklar
60 | Nycklar i tabellen "%s"
61 | Typ:
62 | Namn:
63 | Fields in nyckel
64 | Available fields
65 | Edit nyckel
66 | Add key
67 | Ta bort key
68 |
69 |
70 | Spara / Ladda
71 | Vänligen klistra in XML i textrutan nedan och försök igen.
72 | Klient
73 | Server
74 | Input / Output
75 | Spara XML
76 | Ladda XML
77 | Generera SQL
78 | Server backend:
79 | Spara
80 | Ladda
81 | Lista innehåll
82 | Importera från DB
83 | Ange vilket nyckelord din design sparades under:
84 | Ange vilket nyckelord din design ska sparas under:
85 | Ange namnet på databasen som ska importeras:
86 | Serversvar
87 | Sparad
88 | Ej funnen
89 | Intert serverfel
90 | Ej implementerat
91 | Service Unavailable
92 |
93 |
94 | XML error
95 | Dokumentation
96 |
97 |
98 |
--------------------------------------------------------------------------------
/locale/tr.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Tablo Ekle
5 | Tablo Düzenle
6 | Tablo Sil
7 | Tabloları Sil
8 | Tabloları Hizala
9 | Tabloları Temizle
10 | Gerçekten tabloları sil
11 | Yeni Tablo
12 | Tablo Yerleşim Yeri
13 | Adı
14 | Açıklama
15 |
16 |
17 | Alan Ekle
18 | Alan Düzenle
19 | Alan Sil
20 | Yukarı
21 | Aşağıya
22 | Yeni Alan
23 | Foreign Key Oluştur
24 | Hedef Tablosuna Tıkla
25 | Foreign Key Bağlan
26 | Hedef Satırı Tıklayın
27 | Foreign Key Sil
28 | Gerçekten Tabloyu Sil
29 | Gerçekten Alanı Sil
30 |
31 |
32 | Name
33 | Type
34 | Size
35 | Default
36 | NOT NULL
37 | NULL
38 | Autoincrement
39 | Yorumu düzenle
40 | Bu alan için yorum girin
41 |
42 |
43 | Tamam
44 | İptal
45 | Lütfen Bekleyiniz...
46 | Ayarlar
47 | Diller
48 | Yeni tasarımlar için veritabanı
49 | Bazı seçenekler yalnızca tam sayfa yeniden yüklendikten sonra uygulanır. Seçeneklerin çalışması için çerezlerin etkinleştirilmesi gerekir.
50 | Table snap distance
51 | In pixels, 0 = disable snapping
52 | Pattern for foreign names
53 | %T = primary table, %R = primary key, %t = foreign table
54 | Tablo sürüklemesindeki bağlayıcıları gizle?
55 | Draw smooth connectors (if supported by browser)?
56 | Tablo tasarımında alan boyutunu gösterme?
57 | Alan veri tipini tablo tasarımında göster?
58 | Stil
59 |
60 |
61 | Anahtarlar
62 | Tablodaki tuşlar "%s"
63 | Tipi:
64 | Adı:
65 | Anahtardaki Alanlar
66 | Mevcut Alanlar
67 | Anahtar Düzenle
68 | Anahtar Ekle
69 | Anahtar Sil
70 |
71 |
72 | Kaydet / Yükle
73 | Lütfen XML verilerini aşağıdaki metin alanına yapıştırın ve tekrar deneyin.
74 | İstemci
75 | Sunucu
76 | Giriş / Çıkış
77 | XML Kaydet
78 | XML Yükle
79 | Browser'a Kaydet
80 | Browser'a Yükle
81 | Browser'da Listele
82 | Dropbox Kaydet
83 | Dropbox Yükle
84 | Dropbox Listele
85 | SQL oluştur
86 | Sunucu Kısmı:
87 | Kaydet
88 | Hızlı Kayıt
89 | Yükle
90 | Ürünleri Listele
91 | DB'den içe aktar
92 | Tasarımınızın kaydedildiği anahtar kelimeyi girin:
93 | Tasarımınızın kaydedileceği anahtar kelimeyi girin:
94 | Yüklenecek veritabanının adını girin:
95 | Sunucu yanıtı
96 | Kaydedilmiş
97 | Bulunamadı
98 | İç Sunucu Hatası
99 | Uygulanmadı
100 | Hizmet Kullanılamıyor
101 |
102 |
103 | XML hatası
104 | Belgeleme
105 |
106 |
107 |
--------------------------------------------------------------------------------
/locale/zh.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 添加表
5 | 修改表
6 | 移除表
7 | 重组表格位置
8 | 删除所有表
9 | 真的要删除所有表么
10 | 表名称
11 | 放置表格……
12 | 表名
13 | 注释
14 |
15 |
16 | 添加列
17 | 修改列
18 | 删除列
19 | 上移
20 | 下移
21 | newfield
22 | 创建外连表格列
23 | 点击选择目标表
24 | 连接到外部列
25 | 点击选择目标列
26 | 断开外部连接
27 | 真的删除表么
28 | 真的删除列么
29 |
30 |
31 | 列名
32 | 类型
33 | 大小
34 | 默认
35 | 不能为空
36 | 可留空
37 | 自增长
38 | 改备注
39 | 输入此列备注
40 |
41 |
42 | 搞定
43 | 不要了
44 | 请等待...
45 | 选项设置
46 | 语言
47 | 新建的数据库设为:
48 | 有些属性需要刷新页面后才能起作用,所以,浏览器的Cookies必须启用。
49 | 表格捕捉距离
50 | 像素, 0 = 关闭捕捉
51 | 外连名称规则
52 | %T = 主表, %R = 主键, %t = 外连表
53 | 在表格移动时不显示连接?
54 | 绘制平滑的连接 (如果浏览器支持)?
55 | 设计表格时显示字段大小?
56 | 设计表格时显示字段数据类型?
57 | 样式
58 |
59 |
60 | 设置表键
61 | 在 "%s" 表中可用列属性
62 | 类型:
63 | 属性名称:
64 | 此属性中的列
65 | 可用列
66 | 修改属性
67 | 添加属性
68 | 删除属性
69 |
70 |
71 | 登录
72 | 注销
73 | 保存 / 载入
74 | 请先粘帖一个XML文件内容到文本框中,然后再导入。
75 | 客户端
76 | 服务端
77 | 输入 / 输出
78 | 保存为XML
79 | 载入XML
80 | 传化为数据库脚本
81 | 服务后台:
82 | 保存
83 | 载入
84 | 显示清单
85 | 快速保存
86 | 从数据库中导入
87 | 输入你所保存的名字:
88 | 输入所要保存的名字:
89 | 输入所要导入的数据库名称:
90 | 服务器反馈
91 | 已存
92 | 找不到
93 | 网络服务错误
94 | 未执行
95 | 服务暂不可用
96 |
97 |
98 | XML 错误
99 | 文档
100 |
101 |
102 |
--------------------------------------------------------------------------------
/styles/ie6.css:
--------------------------------------------------------------------------------
1 | v\:* {
2 | behavior: url(#default#VML);
3 | }
4 |
5 | #bar {
6 | position: absolute;
7 | right: auto;
8 | left: expression(eval(document.documentElement.scrollLeft)+document.documentElement.clientWidth-eval(this.offsetWidth));
9 | top: expression(eval(document.documentElement.scrollTop));
10 | }
11 |
12 | #bar .shadow-corner {
13 | background-image: none;
14 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/bar_corner.png', sizingMethod='crop');
15 | overflow: hidden;
16 | }
17 |
18 | #bar .shadow-left {
19 | background-image: none;
20 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/bar_left.png', sizingMethod='crop');
21 | height: expression(eval(this.parentNode.offsetHeight));
22 | overflow: hidden;
23 | }
24 |
25 | #bar .shadow-bottom {
26 | background-image: none;
27 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/bar_bottom.png', sizingMethod='crop');
28 | width: expression(eval(this.parentNode.offsetWidth));
29 | overflow: hidden;
30 | }
31 |
32 | .table .shadow-corner {
33 | background-image: none;
34 | }
35 |
36 | .table .shadow-right {
37 | background-image: none;
38 | }
39 |
40 | .table .shadow-bottom {
41 | background-image: none;
42 | }
43 |
44 | #minimap {
45 | filter: alpha(opacity=90);
46 | position: absolute;
47 | right: auto;
48 | left: expression(eval(document.documentElement.scrollLeft)+document.documentElement.clientWidth-eval(this.offsetWidth));
49 | top: expression(eval(document.documentElement.scrollTop)+document.documentElement.clientHeight-eval(this.offsetHeight));
50 | }
51 |
52 | #background {
53 | filter: alpha(opacity=50);
54 | }
55 |
56 | #keys, #opts {
57 | width: expression(eval(document.documentElement.clientWidth)/2);
58 | }
59 |
60 | #rubberband {
61 | filter: alpha(opacity=50);
62 | }
--------------------------------------------------------------------------------
/styles/ie7.css:
--------------------------------------------------------------------------------
1 | v\:* {
2 | behavior: url(#default#VML);
3 | }
4 |
5 | #minimap {
6 | filter: alpha(opacity=90);
7 | }
8 |
9 | #background {
10 | filter: alpha(opacity=50);
11 | }
12 |
13 | #keys, #opts {
14 | width: expression(eval(document.documentElement.clientWidth)/2);
15 | }
16 |
17 | #rubberband {
18 | filter: alpha(opacity=50);
19 | }
--------------------------------------------------------------------------------
/styles/original.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: verdana, sans serif;
3 | font-size: small;
4 | padding: 0px;
5 | margin: 0px;
6 | background: #FFF;
7 | visibility: hidden;
8 | -moz-user-select: -moz-none;
9 | -khtml-user-select: none;
10 | -webkit-user-select: none;
11 | -ms-user-select: none;
12 | user-select: none;
13 | }
14 |
15 | #area {
16 | position: relative;
17 | background: transparent url(../images/back.png);
18 | width: 3000px;
19 | height: 3000px;
20 | }
21 |
22 | #controls {
23 | position: absolute;
24 | left: 0px;
25 | top: 0px;
26 | }
27 |
28 | #bar {
29 | text-align: center;
30 | background-color: #ccc;
31 | position: fixed;
32 | top: 0px;
33 | right: 0px;
34 | width: 150px;
35 | padding: 0px 5px 5px;
36 | -moz-box-shadow: -4px 4px 8px #888;
37 | /* FF 3.5+ */
38 | -webkit-box-shadow: -4px 4px 8px #888;
39 | /* Safari 3.0+, Chrome */
40 | box-shadow: -4px 4px 8px #888;
41 | /* Opera 10.5, IE 9.0 */
42 | filter: progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=215, Color='#888888');
43 | /* IE 6, IE 7 */
44 | -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=215, Color='#888888')";
45 | /* IE 8 */
46 | }
47 |
48 | #bar input {
49 | display: block;
50 | width: 90%;
51 | margin: auto;
52 | }
53 |
54 | #bar input.small {
55 | width: 45%;
56 | display: inline;
57 | }
58 |
59 | #toggle {
60 | padding: 5px 0px;
61 | margin-bottom: 5px;
62 | cursor: pointer;
63 | background-position: 50% 5px;
64 | background-repeat: no-repeat;
65 | height: 5px;
66 | }
67 |
68 | #toggle:hover {
69 | background-color: #bbb;
70 | }
71 |
72 | #toggle.on {
73 | background-image: url(../images/up.gif);
74 | }
75 |
76 | #toggle.off {
77 | background-image: url(../images/down.gif);
78 | }
79 |
80 | #minimap {
81 | position: fixed;
82 | width: 100px;
83 | height: 100px;
84 | right: 0px;
85 | bottom: 0px;
86 | background-color: #fff;
87 | border: 1px solid #000;
88 | opacity: 0.9;
89 | overflow: hidden;
90 | }
91 |
92 | .mini {
93 | position: absolute;
94 | border: 1px solid #000;
95 | background-color: #eea;
96 | font-size: 1px;
97 | line-height: 1px;
98 | }
99 |
100 | .mini_selected {
101 | background-color: #f85;
102 | }
103 |
104 | .port {
105 | position: absolute;
106 | border: 2px solid #f00;
107 | }
108 |
109 | .table {
110 | position: absolute;
111 | border: 1px solid #000;
112 | background-color: #ddd;
113 | cursor: pointer;
114 | -moz-box-shadow: 4px 4px 8px #888;
115 | /* FF 3.5+ */
116 | -webkit-box-shadow: 4px 4px 8px #888;
117 | /* Safari 3.0+, Chrome */
118 | box-shadow: 4px 4px 8px #888;
119 | /* Opera 10.5, IE 9.0 */
120 | filter: progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=135, Color='#888888');
121 | /* IE 6, IE 7 */
122 | -ms-filter: progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=135, Color='#888888');
123 | /* IE 8 */
124 | border-radius: 3px;
125 | }
126 |
127 | .table table {
128 | border-collapse: collapse;
129 | }
130 |
131 | .table.selected {
132 | border: 2px solid #000;
133 | }
134 |
135 | .table thead .title {
136 | text-align: center;
137 | padding: 3px 30px;
138 | }
139 |
140 | .table tbody {
141 | border-top: 1px dotted #888;
142 | }
143 |
144 | .table tbody td {
145 | padding: 3px;
146 | }
147 |
148 | .table tbody .selected {
149 | font-weight: bold;
150 | color: #f00;
151 | display: inline-block;
152 | }
153 |
154 | .table tbody .title {
155 | display: inline-block;
156 | }
157 |
158 | .table thead td[title]:not([title=""]):after {
159 | content: '';
160 | position: absolute;
161 | top: 0;
162 | right: 0;
163 | border-color: royalblue;
164 | border-style: solid;
165 | border-width: 5px;
166 | border-bottom-color: transparent;
167 | border-left-color: transparent;
168 | }
169 |
170 | .table tbody td {
171 | position: relative;
172 | }
173 |
174 | .table tbody[title]:not(.expanded):not([title=""]) td:last-child:after {
175 | content: '';
176 | position: absolute;
177 | top: 0;
178 | right: 0;
179 | border-color: royalblue;
180 | border-style: solid;
181 | border-width: 5px;
182 | border-bottom-color: transparent;
183 | border-left-color: transparent;
184 | }
185 |
186 | .primary {
187 | font-weight: bold;
188 | }
189 |
190 | .key {
191 | font-style: italic;
192 | }
193 |
194 | .primary.key {
195 | font-style: normal;
196 | }
197 |
198 | .typehint {
199 | font-size: 80%;
200 | color: gray;
201 | }
202 |
203 | .comment {
204 | font-size: 80%;
205 | font-weight: normal;
206 | margin-right: 0.5em;
207 | }
208 |
209 | .adding {
210 | cursor: crosshair;
211 | }
212 |
213 | .relation {
214 | overflow: hidden;
215 | }
216 |
217 | #background {
218 | position: absolute;
219 | background-color: #000;
220 | opacity: 0.5;
221 | visibility: hidden;
222 | }
223 |
224 | #window {
225 | position: absolute;
226 | visibility: hidden;
227 | background-color: #fff;
228 | border: 6px double #333;
229 | }
230 |
231 | #windowtitle {
232 | border-bottom: 2px solid #333;
233 | padding: 2px;
234 | padding-left: 1em;
235 | font-weight: bold;
236 | background-color: rgb(238, 238, 170);
237 | }
238 |
239 | #windowcontent {
240 | padding: 1em;
241 | }
242 |
243 | #windowok, #windowcancel {
244 | margin: 0em 1em 1em;
245 | }
246 |
247 | .small {
248 | font-size: 85%;
249 | }
250 |
251 | #textarea {
252 | width: 650px;
253 | height: 200px;
254 | }
255 |
256 | #opts {
257 | width: 700px;
258 | }
259 |
260 | #keys {
261 | white-space: nowrap;
262 | text-align: center;
263 | }
264 |
265 | legend {
266 | font-weight: bold;
267 | }
268 |
269 | label, input, select {
270 | vertical-align: middle;
271 | }
272 |
273 | #throbber {
274 | position: absolute;
275 | top: 2px;
276 | right: 3px;
277 | }
278 |
279 | #rubberband {
280 | position: absolute;
281 | border: 1px solid #000;
282 | background: #888;
283 | opacity: 0.5;
284 | visibility: hidden;
285 | }
--------------------------------------------------------------------------------
/styles/print.css:
--------------------------------------------------------------------------------
1 | #bar, #background, #minimap {
2 | display: none;
3 | }
4 |
5 | .table {
6 | border: 1px solid #000000;
7 | background-color: none;
8 | }
9 |
10 | .row {
11 | background-color: none;
12 | }
13 |
14 | .table .shadow-corner, .shadow-right, .shadow-bottom {
15 | display: none;
16 | }
17 |
18 | .table_title {
19 | font-weight: bold;
20 | font-size: 115%;
21 | background-color: none;
22 | }
--------------------------------------------------------------------------------