Add textbox control
This commit is contained in:
parent
cde9e7e1db
commit
e64db0c71c
@ -69,6 +69,7 @@ import java.util.prefs.Preferences;
|
|||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import static net.apocalypselabs.symat.Main.API_URL;
|
import static net.apocalypselabs.symat.Main.API_URL;
|
||||||
|
import net.apocalypselabs.symat.components.TextBox;
|
||||||
import org.matheclipse.core.eval.EvalUtilities;
|
import org.matheclipse.core.eval.EvalUtilities;
|
||||||
import org.matheclipse.core.interfaces.IExpr;
|
import org.matheclipse.core.interfaces.IExpr;
|
||||||
import org.matheclipse.parser.client.math.MathException;
|
import org.matheclipse.parser.client.math.MathException;
|
||||||
@ -1179,6 +1180,10 @@ public class Functions {
|
|||||||
graphwin.setVisible(true);
|
graphwin.setVisible(true);
|
||||||
graphwin.toFront();
|
graphwin.toFront();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TextBox textbox() {
|
||||||
|
return new TextBox();
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
Constructor.
|
Constructor.
|
||||||
*/
|
*/
|
||||||
|
60
src/net/apocalypselabs/symat/components/TextBox.form
Normal file
60
src/net/apocalypselabs/symat/components/TextBox.form
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JInternalFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="closable" type="boolean" value="true"/>
|
||||||
|
<Property name="iconifiable" type="boolean" value="true"/>
|
||||||
|
<Property name="maximizable" type="boolean" value="true"/>
|
||||||
|
<Property name="resizable" type="boolean" value="true"/>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[300, 300]"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="jScrollPane1" alignment="0" pref="284" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="jScrollPane1" alignment="0" pref="270" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTextArea" name="textBox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="columns" type="int" value="1"/>
|
||||||
|
<Property name="lineWrap" type="boolean" value="true"/>
|
||||||
|
<Property name="rows" type="int" value="1"/>
|
||||||
|
<Property name="tabSize" type="int" value="4"/>
|
||||||
|
<Property name="wrapStyleWord" type="boolean" value="true"/>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
130
src/net/apocalypselabs/symat/components/TextBox.java
Normal file
130
src/net/apocalypselabs/symat/components/TextBox.java
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
/*
|
||||||
|
* CODE LICENSE =====================
|
||||||
|
* Copyright (c) 2015, Apocalypse Laboratories
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
* list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. 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.
|
||||||
|
*
|
||||||
|
* 3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software without
|
||||||
|
* specific prior written permission.
|
||||||
|
*
|
||||||
|
* 4. You adhere to the Media License detailed below. If you do not, this license
|
||||||
|
* is automatically revoked and you must purge all copies of the software you
|
||||||
|
* possess, in source or binary form.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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.
|
||||||
|
*
|
||||||
|
* MEDIA LICENSE ====================
|
||||||
|
* All images and other graphical files (the "graphics") included with this
|
||||||
|
* software are copyright (c) 2015 Apocalypse Laboratories. You may not distribute
|
||||||
|
* the graphics or any program, source code repository, or other digital storage
|
||||||
|
* media containing them without written permission from Apocalypse Laboratories.
|
||||||
|
* This ban on distribution only applies to publicly available systems.
|
||||||
|
* A password-protected network file share, USB drive, or other storage scheme that
|
||||||
|
* cannot be easily accessed by the public is generally allowed. If in doubt,
|
||||||
|
* contact Apocalypse Laboratories. If Apocalypse Laboratories allows or denies
|
||||||
|
* you permission, that decision is considered final and binding.
|
||||||
|
*/
|
||||||
|
package net.apocalypselabs.symat.components;
|
||||||
|
|
||||||
|
import net.apocalypselabs.symat.Main;
|
||||||
|
import net.apocalypselabs.symat.PrefStorage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Apocalypse Laboratories
|
||||||
|
*/
|
||||||
|
public class TextBox extends javax.swing.JInternalFrame {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates new form TextBox
|
||||||
|
*/
|
||||||
|
public TextBox() {
|
||||||
|
initComponents();
|
||||||
|
int font_size = 12;
|
||||||
|
try {
|
||||||
|
font_size = Integer.valueOf(PrefStorage.getSetting("editfont", "12"));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
}
|
||||||
|
textBox.setFont(Main.ubuntuRegular.deriveFont((float) font_size));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void set(String txt) {
|
||||||
|
textBox.setText(txt);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String get() {
|
||||||
|
return textBox.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void edit(boolean is) {
|
||||||
|
textBox.setEditable(is);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void open() {
|
||||||
|
Main.loadFrame(this, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
textBox = new javax.swing.JTextArea();
|
||||||
|
|
||||||
|
setClosable(true);
|
||||||
|
setIconifiable(true);
|
||||||
|
setMaximizable(true);
|
||||||
|
setResizable(true);
|
||||||
|
setPreferredSize(new java.awt.Dimension(300, 300));
|
||||||
|
|
||||||
|
textBox.setColumns(1);
|
||||||
|
textBox.setLineWrap(true);
|
||||||
|
textBox.setRows(1);
|
||||||
|
textBox.setTabSize(4);
|
||||||
|
textBox.setWrapStyleWord(true);
|
||||||
|
jScrollPane1.setViewportView(textBox);
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 284, Short.MAX_VALUE)
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 270, Short.MAX_VALUE)
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTextArea textBox;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
@ -89,4 +89,6 @@ def csch(a):
|
|||||||
def coth(a):
|
def coth(a):
|
||||||
return _.coth(a)
|
return _.coth(a)
|
||||||
def filedialog():
|
def filedialog():
|
||||||
return _.filedialog()
|
return _.filedialog()
|
||||||
|
def textbox():
|
||||||
|
return _.textbox()
|
Loading…
x
Reference in New Issue
Block a user