First upload
This commit is contained in:
232
main.js
Normal file
232
main.js
Normal file
@@ -0,0 +1,232 @@
|
||||
const { app, BrowserWindow, Menu, dialog, ipcMain, fs } = require('electron')
|
||||
|
||||
function createWindow () {
|
||||
const win = new BrowserWindow({
|
||||
width: 950,
|
||||
height: 580,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
nativeWindowOpen: true
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
const template = [
|
||||
{
|
||||
label: 'File',
|
||||
submenu: [
|
||||
{
|
||||
label: 'Open',
|
||||
accelerator: 'CmdOrCtrl+O',
|
||||
click () {
|
||||
dialog.showOpenDialog(win,
|
||||
{ title : "Load configuration file",
|
||||
defaultPath : "./",
|
||||
//buttonLabel : "Custom button",
|
||||
filters :[
|
||||
{name: 'Config file type', extensions: ['cfg']},
|
||||
],
|
||||
properties: ['openFile']}
|
||||
).then(result => {
|
||||
console.log(result.canceled);
|
||||
console.log(result.filePaths);
|
||||
if (!result.canceled) {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('openFile',result.filePaths);
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Select Folder...',
|
||||
accelerator: 'CmdOrCtrl+F',
|
||||
click () {
|
||||
dialog.showOpenDialog(win,
|
||||
{ title: "Select folder",
|
||||
defaultPath : "./",
|
||||
properties:["openDirectory"]}
|
||||
).then(result => {
|
||||
console.log(result.filePaths)
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('selectFolder',result.filePaths);
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Save',
|
||||
accelerator: 'CmdOrCtrl+S',
|
||||
click () {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('saveFile','');
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Save As...',
|
||||
accelerator: 'CmdOrCtrl+Shift+S',
|
||||
click () {
|
||||
dialog.showSaveDialog(win,
|
||||
{ title : "Save configuration file",
|
||||
defaultPath : "./",
|
||||
filters :[
|
||||
{name: 'Config file type', extensions: ['cfg']},
|
||||
{name: 'All Files', extensions: ['*']}
|
||||
],
|
||||
properties: ['showOverwriteConfirmation']}
|
||||
).then(result => {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('saveFile',result.filePath);
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Print',
|
||||
accelerator: 'CmdOrCtrl+P',
|
||||
click () {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
const options = {};
|
||||
focusedWindow.webContents.print(options, (success, errorType) => {
|
||||
if (!success) console.log(errorType)
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
role: 'quit'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'editMenu'
|
||||
},
|
||||
{
|
||||
label: 'Plot',
|
||||
submenu: [
|
||||
{
|
||||
label: 'Plot Profiles',
|
||||
//accelerator: 'CmdOrCtrl+P P',
|
||||
click () {
|
||||
dialog.showOpenDialog(win,
|
||||
{ title : "Select rge files",
|
||||
filters :[
|
||||
{name: 'Profile file type', extensions: ['rge']},
|
||||
{name: 'All Files', extensions: ['*']}
|
||||
],
|
||||
properties: ['openFile', 'multiSelections']}
|
||||
).then(result => {
|
||||
console.log(result.canceled);
|
||||
console.log(result.filePaths);
|
||||
if (!result.canceled) {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('plotProf',result.filePaths);
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Plot Fractions',
|
||||
//accelerator: 'CmdOrCtrl+P F',
|
||||
click () {
|
||||
dialog.showOpenDialog(win,
|
||||
{ title : "Select sequence file",
|
||||
filters :[
|
||||
{name: 'Sequence file type', extensions: ['dat']},
|
||||
{name: 'All Files', extensions: ['*']}
|
||||
],
|
||||
properties: ['openFile']}
|
||||
).then(result => {
|
||||
console.log(result.canceled);
|
||||
console.log(result.filePaths);
|
||||
if (!result.canceled) {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('plotFrac',result.filePaths);
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Plot Mean',
|
||||
//accelerator: 'CmdOrCtrl+P M',
|
||||
click () {
|
||||
dialog.showOpenDialog(win,
|
||||
{ title : "Select sequence file",
|
||||
filters :[
|
||||
{name: 'Sequence file type', extensions: ['dat']},
|
||||
{name: 'All Files', extensions: ['*']}
|
||||
],
|
||||
properties: ['openFile']}
|
||||
).then(result => {
|
||||
console.log(result.canceled);
|
||||
console.log(result.filePaths);
|
||||
if (!result.canceled) {
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('plotMean',result.filePaths);
|
||||
}
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'viewMenu'
|
||||
},
|
||||
{
|
||||
role: 'windowMenu'
|
||||
},
|
||||
{
|
||||
role: 'help',
|
||||
submenu: [
|
||||
{
|
||||
role: 'about'
|
||||
},
|
||||
{
|
||||
label: 'Learn More',
|
||||
click () { require('electron').shell.openExternal('http://electron.atom.io') }
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
const menu = Menu.buildFromTemplate(template)
|
||||
Menu.setApplicationMenu(menu)
|
||||
|
||||
win.loadFile('TrimSP.html');
|
||||
// Comment the following line to start without Dev
|
||||
// win.openDevTools();
|
||||
}
|
||||
|
||||
app.whenReady().then(createWindow)
|
||||
|
||||
app.on('window-all-closed', () => {
|
||||
if (process.platform !== 'darwin') {
|
||||
app.quit()
|
||||
}
|
||||
})
|
||||
|
||||
app.on('activate', () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow()
|
||||
}
|
||||
})
|
||||
|
||||
ipcMain.on('folderSelect', (event) => {
|
||||
dialog.showOpenDialog({ title: "Select folder",
|
||||
defaultPath : "./",
|
||||
properties:["openDirectory"]}
|
||||
).then(result => {
|
||||
console.log(result.filePaths)
|
||||
var focusedWindow = BrowserWindow.getFocusedWindow();
|
||||
focusedWindow.webContents.send('selectFolder',result.filePaths);
|
||||
}).catch(err => {
|
||||
console.log(err);
|
||||
})
|
||||
});
|
||||
Reference in New Issue
Block a user