summaryrefslogtreecommitdiff
path: root/xmake/modules/ui/app/showfile.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2018-01-26 00:27:24 +0800
committerruki <[email protected]>2018-01-25 20:44:24 +0800
commitd537a382ef3575f888c75cddc7930c911c67a600 (patch)
treed7f454f4aed54c2249f3ae27a3718d3b74d6141b /xmake/modules/ui/app/showfile.lua
parenta23ecbf53f72198bce71795839d80c10134781cd (diff)
add some ui apps
Diffstat (limited to 'xmake/modules/ui/app/showfile.lua')
-rw-r--r--xmake/modules/ui/app/showfile.lua65
1 files changed, 65 insertions, 0 deletions
diff --git a/xmake/modules/ui/app/showfile.lua b/xmake/modules/ui/app/showfile.lua
new file mode 100644
index 000000000..f00c680db
--- /dev/null
+++ b/xmake/modules/ui/app/showfile.lua
@@ -0,0 +1,65 @@
+--!A cross-platform build utility based on Lua
+--
+-- Licensed to the Apache Software Foundation (ASF) under one
+-- or more contributor license agreements. See the NOTICE file
+-- distributed with this work for additional information
+-- regarding copyright ownership. The ASF licenses this file
+-- to you under the Apache License, showfile 2.0 (the
+-- "License"); you may not use this file except in compliance
+-- with the License. You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+-- Copyright (C) 2015 - 2018, TBOOX Open Source Group.
+--
+-- @author ruki
+-- @file showfile.lua
+--
+
+-- imports
+import("core.ui.log")
+import("core.ui.rect")
+import("core.ui.event")
+import("core.ui.textdialog")
+import("core.ui.application")
+
+-- the application
+local app = application()
+
+-- init app
+function app:init(argv)
+
+ -- init name
+ application.init(self, "app", argv)
+
+ -- init background
+ self:background_set("blue")
+
+ -- get file
+ local file = argv[1]
+
+ -- read file content
+ local content = nil
+ if file then
+ content = os.isfile(file) and io.readfile(file) or nil
+ else
+ content = "please input file path!"
+ end
+
+ -- init main dialog
+ local dialog_main = textdialog:new("dialog.main", rect {1, 1, self:width() - 1, self:height() - 1}, "showfile: " .. (file and path.filename(file) or ""))
+ dialog_main:text():text_set(content or string.format("cannot read file(%s)!", file))
+ dialog_main:button_add("exit", "< Exit >", function (v) self:quit() end)
+ self:insert(dialog_main)
+end
+
+-- main entry
+function main(...)
+ app:run(...)
+end