Merge branch 'master' of https://git.ad5001.eu/Ad5001/LogarithmPlotter
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
commit
21714cf475
59 changed files with 299 additions and 72 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,6 +10,7 @@ linux/flatpak/.flatpak-builder
|
|||
*.zip
|
||||
**/**.qmlc
|
||||
**/**.jsc
|
||||
**/**.pyc
|
||||
*.jsc
|
||||
*.qmlc
|
||||
.DS_Store
|
||||
|
|
25
CHANGELOG.md
Normal file
25
CHANGELOG.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
# Changelog
|
||||
|
||||
## v0.1.3 (18 Jan 2022)
|
||||
|
||||
* Fixed bug: Confined packages (snapcraft & flatpak) won't show error messages related to update checks.
|
||||
* FIxed bug: Equations of the form (x + y) / z were not being simplified properly.
|
||||
|
||||
-- Ad5001 <mail@ad5001.eu> Wed, 19 Jan 2022 20:00:00 +0100
|
||||
|
||||
## v0.1.2 (30 Sep 2021)
|
||||
|
||||
* Fixed bug: Unable to move Bode diagrams elements when having deleted the sum element.
|
||||
* Fixed bug: Names were not not being changed from previous object when editing a new one.
|
||||
* Fixed bug: Bode Magnitude was not drawn far enough
|
||||
* Fixed bug: Bode Magnitude had undefined ending.
|
||||
* Fixed other bugs from v0.1.1.
|
||||
|
||||
-- Ad5001 <mail@ad5001.eu> Mon, 30 Sep 2021 20:00:00 +0100
|
||||
|
||||
## v0.1 (26 Aug 2021)
|
||||
|
||||
* Initial release.
|
||||
|
||||
-- Ad5001 <mail@ad5001.eu> Mon, 06 Jun 2021 08:48:28 +0100
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -17,7 +17,7 @@
|
|||
"""
|
||||
from shutil import which
|
||||
|
||||
__VERSION__ = "0.1.2"
|
||||
__VERSION__ = "0.1.3"
|
||||
is_release = False
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -85,7 +85,7 @@ D.Dialog {
|
|||
wrapMode: Text.WordWrap
|
||||
textFormat: Text.RichText
|
||||
font.pixelSize: 13
|
||||
text: "Copyright © 2021 Ad5001 <mail@ad5001.eu><br>
|
||||
text: "Copyright © 2022 Ad5001 <mail@ad5001.eu><br>
|
||||
<br>
|
||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.<br>
|
||||
<br>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
160
LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/latex.js
Normal file
160
LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/latex.js
Normal file
|
@ -0,0 +1,160 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
.import "expr-eval.js" as ExprEval
|
||||
|
||||
// Puts element within parenthesis
|
||||
function par(elem) {
|
||||
return '(' + elem + ')'
|
||||
}
|
||||
|
||||
// checks if the element contains a string, and returns the parenthesis version if so.
|
||||
function parif(elem, contents) {
|
||||
return contents.some(elem.includes) ? par(elem) : elem
|
||||
}
|
||||
|
||||
// Adpation of expressionToString for latex
|
||||
function expressionToLatex(tokens) {
|
||||
var nstack = [];
|
||||
var n1, n2, n3;
|
||||
var f, args, argCount;
|
||||
for (var i = 0; i < tokens.length; i++) {
|
||||
var item = tokens[i];
|
||||
var type = item.type;
|
||||
|
||||
switch(type) {
|
||||
case ExprEval.INUMBER:
|
||||
if (typeof item.value === 'number' && item.value < 0) {
|
||||
nstack.push(par(item.value));
|
||||
} else if (Array.isArray(item.value)) {
|
||||
nstack.push('[' + item.value.map(escapeValue).join(', ') + ']');
|
||||
} else {
|
||||
nstack.push(escapeValue(item.value));
|
||||
}
|
||||
break;
|
||||
case ExprEval.IOP2:
|
||||
n2 = nstack.pop();
|
||||
n1 = nstack.pop();
|
||||
f = item.value;
|
||||
switch(f) {
|
||||
case '-':
|
||||
case '+':
|
||||
nstack.push(n1 + this.ope + n2);
|
||||
break;
|
||||
case '||':
|
||||
case 'or':
|
||||
case '&&':
|
||||
case 'and':
|
||||
case '==':
|
||||
case '!=':
|
||||
nstack.push(par(n1) + this.ope + par(n2));
|
||||
break;
|
||||
case '*':
|
||||
nstack.push(parif(n1,['+','-']) + " \\times " + parif(n2,['+','-']));
|
||||
break;
|
||||
case '/':
|
||||
nstack.push("\\frac{" + n1 + "}{" + n2 + "}");
|
||||
break;
|
||||
case '^':
|
||||
nstack.push(parif(n1,['+','-','*','/','!']) + "^{" + n2 + "}");
|
||||
break;
|
||||
case '%':
|
||||
nstack.push(parif(n1,['+','-','*','/','!','^']) + " \\mathrm{mod} " + parif(n2,['+','-','*','/','!','^']));
|
||||
break;
|
||||
case '[':
|
||||
nstack.push(n1 + '[' + n2 + ']');
|
||||
break;
|
||||
default:
|
||||
throw new EvalError("Unknown operator " + ope + ".");
|
||||
}
|
||||
break;
|
||||
case ExprEval.IOP3: // Thirdiary operator
|
||||
n3 = nstack.pop();
|
||||
n2 = nstack.pop();
|
||||
n1 = nstack.pop();
|
||||
f = item.value;
|
||||
if (f === '?') {
|
||||
nstack.push('(' + n1 + ' ? ' + n2 + ' : ' + n3 + ')');
|
||||
} else {
|
||||
throw new EvalError('Unknown operator ' + ope + '.');
|
||||
}
|
||||
break;
|
||||
case ExprEval.IVAR:
|
||||
case ExprEval.IVARNAME:
|
||||
nstack.push(item.value);
|
||||
break;
|
||||
case ExprEval.IOP1: // Unary operator
|
||||
n1 = nstack.pop();
|
||||
f = item.value;
|
||||
switch(f) {
|
||||
case '-':
|
||||
case '+':
|
||||
nstack.push(par(f + n1));
|
||||
break;
|
||||
case '!':
|
||||
nstack.push(parif(n1,['+','-','*','/','^']) + '!');
|
||||
break;
|
||||
default:
|
||||
nstack.push(f + parif(n1,['+','-','*','/','^']));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ExprEval.IFUNCALL:
|
||||
argCount = item.value;
|
||||
args = [];
|
||||
while (argCount-- > 0) {
|
||||
args.unshift(nstack.pop());
|
||||
}
|
||||
f = nstack.pop();
|
||||
nstack.push(f + '(' + args.join(', ') + ')');
|
||||
break;
|
||||
case ExprEval.IFUNDEF:
|
||||
nstack.push(par(n1 + '(' + args.join(', ') + ') = ' + n2));
|
||||
break;
|
||||
case ExprEval.IMEMBER:
|
||||
n1 = nstack.pop();
|
||||
nstack.push(n1 + '.' + item.value);
|
||||
break;
|
||||
case ExprEval.IARRAY:
|
||||
argCount = item.value;
|
||||
args = [];
|
||||
while (argCount-- > 0) {
|
||||
args.unshift(nstack.pop());
|
||||
}
|
||||
nstack.push('[' + args.join(', ') + ']');
|
||||
break;
|
||||
case ExprEval.IEXPR:
|
||||
nstack.push('(' + expressionToLatex(item.value) + ')');
|
||||
break;
|
||||
case ExprEval.IENDSTATEMENT:
|
||||
break;
|
||||
default:
|
||||
throw new EvalError('invalid Expression');
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (nstack.length > 1) {
|
||||
if (toJS) {
|
||||
nstack = [ nstack.join(',') ];
|
||||
} else {
|
||||
nstack = [ nstack.join(';') ];
|
||||
}
|
||||
}
|
||||
return Utils.makeExpressionReadable(String(nstack[0]));
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -135,16 +135,18 @@ class Function extends Common.ExecutableObject {
|
|||
var previousY;
|
||||
if(definitionDomain instanceof MathLib.SpecialDomain && definitionDomain.moveSupported) {
|
||||
// Point based functions.
|
||||
previousX = definitionDomain.previous(previousX)
|
||||
previousX = definitionDomain.next(previousX)
|
||||
if(previousX === null) previousX = definitionDomain.next(canvas.px2x(0))
|
||||
previousY = expr.execute(previousX)
|
||||
if(!drawPoints && !drawDash) return
|
||||
while(previousX !== null && canvas.x2px(previousX) < canvas.canvasSize.width) {
|
||||
var currentX = definitionDomain.next(previousX)
|
||||
// Reconverted for canvas to fix for logarithmic scales.
|
||||
var currentX = definitionDomain.next(canvas.px2x(canvas.x2px(previousX)+pxprecision));
|
||||
var currentY = expr.execute(currentX)
|
||||
if(currentX === null) break;
|
||||
if((definitionDomain.includes(currentX) || definitionDomain.includes(previousX)) &&
|
||||
(destinationDomain.includes(currentY) || destinationDomain.includes(previousY))) {
|
||||
console.log(drawDash, drawPoints)
|
||||
if(drawDash)
|
||||
canvas.drawDashedLine(ctx, canvas.x2px(previousX), canvas.y2px(previousY), canvas.x2px(currentX), canvas.y2px(currentY))
|
||||
if(drawPoints) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -134,7 +134,7 @@ function simplifyExpression(str) {
|
|||
],
|
||||
[ // Decomposition way 2
|
||||
/(^.?|[+-] |\()\((([-.\d\w] [*/] )?[-\d\w.]+) ([+\-]) (([-.\d\w] [*/] )?[\d\w.+]+)\) ([*/]) ([-.\d\w]+)(.?$| [+-]|\))/g,
|
||||
"$1$8 $7 $2 $4 $8 $7 $5$9"
|
||||
"$1$2 $7 $8 $4 $5 $7 $8$9"
|
||||
],
|
||||
[ // Factorisation of π elements.
|
||||
/(([-\d\w.]+ [*/] )*)(pi|π)(( [/*] [-\d\w.]+)*) ([+-]) (([-\d\w.]+ [*/] )*)(pi|π)(( [/*] [-\d\w.]+)*)?/g,
|
||||
|
@ -199,7 +199,7 @@ function simplifyExpression(str) {
|
|||
}
|
||||
],
|
||||
[// Starting & ending parenthesis if not needed.
|
||||
/^\((.*)\)$/g,
|
||||
/^\s*\((.*)\)\s*$/g,
|
||||
function(match, middle) {
|
||||
var str = middle
|
||||
// Replace all groups
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -19,6 +19,7 @@
|
|||
from PySide2.QtCore import Qt, QRunnable, QThreadPool, QThread, QObject, Signal
|
||||
from urllib.request import urlopen
|
||||
from urllib.error import HTTPError, URLError
|
||||
from sys import argv
|
||||
|
||||
class UpdateInformation(QObject):
|
||||
got_update_info = Signal(bool, str, bool)
|
||||
|
@ -67,7 +68,8 @@ def check_for_updates(current_version, window):
|
|||
"""
|
||||
Checks for updates in the background, and sends an alert with information.
|
||||
"""
|
||||
|
||||
if "--no-check-for-updates" in argv:
|
||||
return #
|
||||
def cb(show_alert, msg_text, update_available):
|
||||
pass
|
||||
if show_alert:
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# ![icon](https://git.ad5001.eu/Ad5001/LogarithmicPlotter/raw/branch/master/logplotter.svg) LogarithmPlotter
|
||||
[![Build Status](https://ci.ad5001.eu/api/badges/Ad5001/LogarithmPlotter/status.svg)](https://ci.ad5001.eu/Ad5001/LogarithmicPlotter)
|
||||
# ![icon](https://git.ad5001.eu/Ad5001/LogarithmPlotter/raw/branch/master/logplotter.svg) LogarithmPlotter
|
||||
[![Build Status](https://ci.ad5001.eu/api/badges/Ad5001/LogarithmPlotter/status.svg)](https://ci.ad5001.eu/Ad5001/LogarithmPlotter)
|
||||
[![On flathub](https://img.shields.io/flathub/v/eu.ad5001.LogarithmPlotter?label=on%20flathub)](https://flathub.org/apps/details/eu.ad5001.LogarithmPlotter)
|
||||
[![On Snapcraft](https://badgen.net/snapcraft/v/logarithmplotter?label=on%20snapcraft)](https://snapcraft.io/logarithmplotter)
|
||||
|
||||
Create graphs with logarithm scales, namely BODE diagrams.
|
||||
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
logarithmplotter (0.1.3) stable; urgency=medium
|
||||
|
||||
* Fixed bug: Confined packages (snapcraft & flatpak) won't show error messages related to update checks.
|
||||
* FIxed bug: Equations of the form (x + y) / z were not being simplified properly.
|
||||
|
||||
-- Ad5001 <mail@ad5001.eu> Wed, 19 Jan 2022 20:00:00 +0100
|
||||
|
||||
logarithmplotter (0.1.2) unstable; urgency=medium
|
||||
|
||||
* Fixed bug: Unable to move Bode diagrams elements when having deleted the sum element.
|
||||
|
@ -6,10 +13,10 @@ logarithmplotter (0.1.2) unstable; urgency=medium
|
|||
* Fixed bug: Bode Magnitude had undefined ending.
|
||||
* Fixed other bugs from v0.1.1.
|
||||
|
||||
-- Ad5001 <mail@ad5001.eu> Mon, 30 Sep 2021 20:00:00 +0200
|
||||
-- Ad5001 <mail@ad5001.eu> Mon, 30 Sep 2021 20:00:00 +0100
|
||||
|
||||
logarithmplotter (0.1.dev0) UNRELEASED; urgency=medium
|
||||
logarithmplotter (0.1) UNRELEASED; urgency=medium
|
||||
|
||||
* Initial release.
|
||||
|
||||
-- Ad5001 <mail@ad5001.eu> Mon, 06 Jun 2021 08:48:28 +0200
|
||||
-- Ad5001 <mail@ad5001.eu> Thu, 26 Aug 2021 08:48:28 +0100
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
</description>
|
||||
|
||||
<categories>
|
||||
<category>Network</category>
|
||||
<category>Feed</category>
|
||||
<category>Science</category>
|
||||
<category>Education</category>
|
||||
</categories>
|
||||
<url type="homepage">https://apps.ad5001.eu/logarithmplotter/</url>
|
||||
<url type="bugtracker">https://git.ad5001.eu/Ad5001/LogarithmPlotter/issues/</url>
|
||||
|
@ -41,10 +41,13 @@
|
|||
<screenshot>https://apps.ad5001.eu/img/en/logarithmplotter/welcome.png</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<release version="0.1.3" date="2022-01-19"/>
|
||||
<release version="0.1.2" date="2021-09-30"/>
|
||||
<release version="0.1" date="2021-08-15"/>
|
||||
</releases>
|
||||
<content_rating type="oars-1.0">
|
||||
</content_rating>
|
||||
<developer_name>Ad5001</developer_name>
|
||||
<update_contact>mail@ad5001.eu</update_contact>
|
||||
</application>
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
</description>
|
||||
|
||||
<categories>
|
||||
<category>Network</category>
|
||||
<category>Feed</category>
|
||||
<category>Science</category>
|
||||
<category>Education</category>
|
||||
</categories>
|
||||
<url type="homepage">https://apps.ad5001.eu/logarithmplotter/</url>
|
||||
<url type="bugtracker">https://git.ad5001.eu/Ad5001/LogarithmPlotter/issues/</url>
|
||||
|
@ -41,10 +41,13 @@
|
|||
<screenshot>https://apps.ad5001.eu/img/en/logarithmplotter/welcome.png</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<release version="0.1.3" date="2022-01-19"/>
|
||||
<release version="0.1.2" date="2021-09-30"/>
|
||||
<release version="0.1" date="2021-08-15"/>
|
||||
</releases>
|
||||
<content_rating type="oars-1.0">
|
||||
</content_rating>
|
||||
<developer_name>Ad5001</developer_name>
|
||||
<update_contact>mail@ad5001.eu</update_contact>
|
||||
</application>
|
||||
|
||||
|
|
16
linux/flatpak/logarithmplotter.desktop
Normal file
16
linux/flatpak/logarithmplotter.desktop
Normal file
|
@ -0,0 +1,16 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=LogarithmPlotter
|
||||
GenericName=2D plotter software
|
||||
GenericName[fr]=Logiciel de traçage 2D
|
||||
Comment=Create BODE diagrams, sequences and repartition functions.
|
||||
Comment[fr]=Créer des diagrammes de BODE, des suites et des fonctions de répartition.
|
||||
|
||||
TryExec=logarithmplotter
|
||||
Exec=logarithmplotter --no-check-for-updates %f
|
||||
Icon=logarithmplotter
|
||||
MimeType=application/x-logarithm-plot;
|
||||
Terminal=false
|
||||
StartupNotify=false
|
||||
Categories=Math
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# AccountFree - Browse and use online services, free of account.
|
||||
# Copyright (C) 2021 Ad5001 <mail@ad5001.eu>
|
||||
# Copyright (C) 2022 Ad5001 <mail@ad5001.eu>
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -11,4 +11,4 @@ set \
|
|||
#export QT_QPA_PLATFORMTHEME=kde
|
||||
|
||||
# Finally run the next part of the command chain
|
||||
exec "${@}"
|
||||
exec "${@} --no-check-for-updates"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
python3 setup.py --remove-git-version --command-packages=stdeb.command sdist_dsc \
|
||||
--package logarithmplotter --copyright-file linux/debian/copyright --suite hirsute --depends3 "$(cat linux/debian/depends)" --section science \
|
||||
--upstream-version-suffix "-patch1" --debian-version "ppa1" bdist_deb
|
||||
--package logarithmplotter --copyright-file linux/debian/copyright --suite sid --depends3 "$(cat linux/debian/depends)" --section science \
|
||||
--debian-version "ppa1" bdist_deb
|
||||
|
||||
# Flatpak building
|
||||
FLATPAK_BUILDER=$(which flatpak-builder)
|
||||
|
|
16
setup.py
16
setup.py
|
@ -1,6 +1,6 @@
|
|||
"""
|
||||
* LogarithmPlotter - Create graphs with logarithm scales.
|
||||
* Copyright (C) 2021 Ad5001
|
||||
* Copyright (C) 2022 Ad5001
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -86,7 +86,7 @@ if sys.platform == 'linux':
|
|||
data_files.append(('share/mime/packages/', ['linux/x-logarithm-plot.xml']))
|
||||
data_files.append(('share/icons/hicolor/scalable/mimetypes/', ['linux/application-x-logarithm-plot.svg']))
|
||||
data_files.append(('share/icons/hicolor/scalable/apps/', ['logplotter.svg']))
|
||||
"""data_files.append((os.environ["PREFIX"] + '/applications/', ['linux/logarithmplotter.desktop']))
|
||||
data_files.append((os.environ["PREFIX"] + '/applications/', ['linux/logarithmplotter.desktop']))
|
||||
data_files.append((os.environ["PREFIX"] + '/mime/packages/', ['linux/x-logarithm-plot.xml']))
|
||||
data_files.append((os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/', ['linux/application-x-logarithm-plot.svg']))
|
||||
data_files.append((os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/', ['logplotter.svg']))
|
||||
|
@ -98,7 +98,6 @@ if sys.platform == 'linux':
|
|||
os.makedirs(os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/', exist_ok=True)
|
||||
os.makedirs(os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/', exist_ok=True)
|
||||
os.makedirs(os.environ["PREFIX"] + '/metainfo/', exist_ok=True)
|
||||
copyfile(current_dir + '/linux/logarithmplotter.desktop', os.environ["PREFIX"] + '/applications/logarithmplotter.desktop')
|
||||
copyfile(current_dir + '/linux/x-logarithm-plot.xml', os.environ["PREFIX"] + '/mime/packages/x-logarithm-plot.xml')
|
||||
copyfile(current_dir + '/linux/application-x-logarithm-plot.svg',
|
||||
os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/application-x-logarithm-plot.svg')
|
||||
|
@ -106,11 +105,18 @@ if sys.platform == 'linux':
|
|||
if "FLATPAK_INSTALL" in os.environ:
|
||||
copyfile(current_dir + '/linux/eu.ad5001.LogarithmPlotter.metainfo.flatpak.xml',
|
||||
os.environ["PREFIX"] + '/metainfo/eu.ad5001.LogarithmPlotter.metainfo.xml')
|
||||
copyfile(current_dir + '/linux/flatpak/logarithmplotter.desktop',
|
||||
os.environ["PREFIX"] + '/applications/logarithmplotter.desktop')
|
||||
else:
|
||||
copyfile(current_dir + '/linux/eu.ad5001.LogarithmPlotter.metainfo.xml',
|
||||
os.environ["PREFIX"] + '/metainfo/eu.ad5001.LogarithmPlotter.metainfo.xml')
|
||||
copyfile(current_dir + '/linux/logarithmplotter.desktop',
|
||||
os.environ["PREFIX"] + '/applications/logarithmplotter.desktop')
|
||||
elif sys.argv[1] == "uninstall":
|
||||
os.remove(os.environ["PREFIX"] + '/applications/logarithmplotter.desktop')
|
||||
os.remove(os.environ["PREFIX"] + '/mime/packages/x-logarithm-plot.xml')
|
||||
os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/mimetypes/application-x-logarithm-plot.svg')
|
||||
os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/logplotter.svg')"""
|
||||
os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/logplotter.svg')
|
||||
|
||||
setuptools.setup(
|
||||
install_requires=([] if "FLATPAK_INSTALL" in os.environ else ["PySide2"]),
|
||||
|
@ -119,7 +125,7 @@ setuptools.setup(
|
|||
name='logarithmplotter',
|
||||
version=pkg_version,
|
||||
|
||||
description='Browse and use online services, free of account',
|
||||
description='Create graphs with logarithm scales.',
|
||||
long_description=read_file("README.md"),
|
||||
keywords='logarithm plotter graph creator bode diagram',
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: logarithmplotter
|
||||
title: LogarithmPlotter
|
||||
version: '0.1.2'
|
||||
version: '0.1.3'
|
||||
summary: 2D plotter software to make BODE plots, sequences and repartition functions.
|
||||
description: |
|
||||
LogarithmPlotter is, as it's name suggests, a plotter made with logarithm scales in mind. With an object system similar to [Geogebra](https://geogebra.org)'s, it allows dynamic creation of plots with very few limitations.
|
||||
|
|
|
@ -157,7 +157,7 @@ Section ""
|
|||
File *.dll
|
||||
File *.pyd
|
||||
File *.md
|
||||
File *.manifest
|
||||
;File *.manifest
|
||||
File *.zip
|
||||
File *.bmp
|
||||
File *.ico
|
||||
|
|
Loading…
Reference in a new issue