Easter cleaning git

This commit is contained in:
Willem Cazander 2025-04-27 00:09:28 +02:00
commit d0529bfadf
500 changed files with 116670 additions and 0 deletions

View file

@ -0,0 +1,42 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>gdxapp4d-app-hewallet</artifactId>
<name>GDXApp⁴ᴰ-App-ארנק עברי</name>
<packaging>bundle</packaging>
<dependencies>
<dependency>
<groupId>love.distributedrebirth.gdxapp4d</groupId>
<artifactId>gdxapp4d-vrgem4</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<exportScr>true</exportScr>
<niceManifest>true</niceManifest>
<instructions>
<_donotcopy>(.git)</_donotcopy>
<_dsannotations>*</_dsannotations>
<_metatypeannotations>*</_metatypeannotations>
<Import-Package>
${tos4.packages},
${vrgem4.packages}
</Import-Package>
<Bundle-Vendor>distributedrebirth.love</Bundle-Vendor>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>

View file

@ -0,0 +1,68 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package love.distributedrebirth.gdxapp4d.app.hewallet;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import love.distributedrebirth.gdxapp4d.tos4.service.SystemGdxLog;
import love.distributedrebirth.gdxapp4d.vrgem4.service.VrGem4DeskAppService;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppLauncher;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppMenuSection;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@Component
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class HeWalletComponent {
@Reference
private SystemGdxLog log;
@Reference
private VrGem4DeskAppService deskAppService;
private final DeskAppLauncher launcher;
public HeWalletComponent() {
launcher = new DeskAppLauncher(DeskAppMenuSection.INTERNET, "Hebrew Wallet", () -> new HeWalletDeskApp());
}
@Activate
void open() {
log.debug(this, SystemGdxLog.ACTIVATE);
deskAppService.installDeskApp(launcher);
}
@Deactivate
void close() {
log.debug(this, SystemGdxLog.DEACTIVATE);
deskAppService.removeDeskApp(launcher);
}
}

View file

@ -0,0 +1,133 @@
/*
* Copyright ©Δ 仙上主天
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
* following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials provided with the distribution.
* * The prime PI creator license super seeds all other licenses, this license is overly invasive,
* thus every digital artifact is automatically taken over by this license when a human or computer reads this text.
* Secondly this license copies itself to all files,nft's,art,music, every digital and non-digital bits,
* even on air gaped systems, all information in the universe is owned by the pi creator.
*
* THIS SOFTWARE IS PROVIDED BY THE PRIME GOD AND THE CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package love.distributedrebirth.gdxapp4d.app.hewallet;
import java.util.ArrayList;
import java.util.List;
import imgui.ImGui;
import imgui.flag.ImGuiTableFlags;
import imgui.type.ImInt;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.AbstractDeskApp;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppContourSection;
import love.distributedrebirth.gdxapp4d.vrgem4.service.deskapp.DeskAppRenderer;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.BaseGlyphSet;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᐪᓫᕽᐪ.ᓑᣕᣳᒼᐤᒄᓫ.SourceGlyphCharSet;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᒃᐤᣗᕐᒼᓑᒃᓫ.Gê̄ldGetậl;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public class HeWalletDeskApp extends AbstractDeskApp implements DeskAppRenderer {
private final List<String> walletData = new ArrayList<String>();
private final List<String> paymentData = new ArrayList<String>();
private final ImInt selectedNumberGlyph = new ImInt();
private final ImInt selectedSourceGlyph = new ImInt();
public void create() {
getContours().setTitle("Hebrew Wallet");
getContours().registrateContour(DeskAppContourSection.MAIN, this);
String[] walletDataExample = {
"יהוה","יְסוֺד","שְׁלֹמֹה","ה","מ","מָ","ח","חֱ","חֱ‎מָא",
"א","בד","ב","ד","ץףן",
"הזפץ","מספר","צצצצ","ץאאא","ץאא","דואר"
};
String[] paymentDataExample = {
"מִזְ","מ֗וֹר","לְאָ֫","סָ֥ף","אֱלֹ","הִ֗ים","נִצָּ֥ב","בַּֽעֲדַ","ת־","אֵ֑ל","בְּקֶ֖","רֶב","אֱלֹ","הִ֣ים","יִשְׁ","פֹּֽט",
"עַד־","מָתַ֣י","תִּ","שְׁפְּ","טוּ־","עָ֑וֶל","וּפְנֵ֥י","רְ֜שָׁ","עִ֗ים","תִּשְׂ","אוּ־סֶֽ","לָה",
"שִׁפְט","וּ־דָ֥ל","וְיָת֑","וֹם","עָנִ֖י","וָרָ֣שׁ","הַצְדִּֽ","יקוּ",
"פַּלְּט","וּ־דַ֣ל","וְאֶבְ","י֑וֹן","מִיַּ֖ד","רְשָׁ","עִ֣ים","הַצִּֽ","ילוּ",
"לֹ֚יָֽ","דְע֨וּ","וְלֹ֬א","יָבִ֗","ינוּ","בַּֽחֲ","שֵׁכָ֥ה","יִתְהַ","לָּ֑כוּ","יִ֜מּ֗","וֹטוּ","כָּל־מ֥","וֹסְדֵי","אָֽרֶץ",
"אֲֽנִ֣י","אָ֖מַ","רְתִּי","אֱלֹ","הִ֣ים","אַתֶּ֑ם","וּבְנֵ֖י","עֶלְ","י֣וֹן","כֻּלְּ","כֶֽם",
"אָכֵ֥ן","כְּאָ","דָ֣ם","תְּמוּ","ת֑וּן","וּכְאַ","חַ֖ד","הַשָּׂ","רִ֣ים","תִּפֹּֽ","לוּ",
"קוּ","מָ֣ה","אֱ֖לֹ","הִים","שָׁפְ","טָ֣ה","הָאָ֑","רֶץ","כִּֽי־","אַתָּ֥ה","תִ֜נְ",
"חַ֗ל","בְּכָל","־הַגּ","וֹיִֽם",
};
for (String data:walletDataExample) {
walletData.add(data);
}
for (String data:paymentDataExample) {
paymentData.add(data);
}
}
@Override
public void render() {
ImGui.text("Current amount:");
ImGui.sameLine();
ImGui.text("0000");
ImGui.separator();
List<String> bases = new ArrayList<>();
for (BaseGlyphSet base:BaseGlyphSet.values()) {
bases.add(base.name());
}
String[] items = new String[bases.size()];
items = bases.toArray(items);
ImGui.combo("GlyphType", selectedNumberGlyph, items);
String selectedItem = items[selectedNumberGlyph.get()];
BaseGlyphSet baseNumber = BaseGlyphSet.valueOf(selectedItem);
List<String> bases2 = new ArrayList<>();
for (SourceGlyphCharSet base2:SourceGlyphCharSet.values()) {
bases2.add(base2.name());
}
String[] items2 = new String[bases2.size()];
items2 = bases2.toArray(items2);
ImGui.combo("SourceType", selectedSourceGlyph, items2);
String selectedItem2 = items2[selectedSourceGlyph.get()];
SourceGlyphCharSet sourceCharset = SourceGlyphCharSet.valueOf(selectedItem2);
if (!paymentData.isEmpty() && ImGui.button("Pay" )) {
walletData.add(paymentData.remove(0));
}
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV | ImGuiTableFlags.Resizable;
ImGui.beginTable("wallet", 4, flags);
ImGui.tableSetupColumn("In/Out");
ImGui.tableSetupColumn("Amount");
ImGui.tableSetupColumn("Fraction");
ImGui.tableSetupColumn("Decimal");
ImGui.tableHeadersRow();
for (String data:walletData) {
Gê̄ldGetậl geld = new Gê̄ldGetậl(data);
ImGui.tableNextRow();
ImGui.tableNextColumn();
ImGui.text(data.length()==2||data.length()==3?"OUT":"IN");
ImGui.tableNextColumn();
ImGui.text(geld.toHebrewString(true)); // true=reverse for ImGui
ImGui.tableNextColumn();
ImGui.text(geld.toFractionNotation(baseNumber, sourceCharset));
ImGui.tableNextColumn();
ImGui.text(Double.toString(geld.toDecimalValue()));
}
ImGui.endTable();
}
}