⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculator.bash.ipc

📁 gtk_server的源代码
💻 IPC
📖 第 1 页 / 共 2 页
字号:
          <widget class=\"GtkButton\" id=\"buttonMul\">            <property name=\"visible\">True</property>            <property name=\"label\" translatable=\"yes\">*</property>            <property name=\"response_id\">0</property>          </widget>          <packing>            <property name=\"left_attach\">3</property>            <property name=\"right_attach\">4</property>            <property name=\"top_attach\">3</property>            <property name=\"bottom_attach\">4</property>            <property name=\"x_padding\">4</property>            <property name=\"y_padding\">8</property>          </packing>        </child>        <child>          <widget class=\"GtkButton\" id=\"buttonDiv\">            <property name=\"visible\">True</property>            <property name=\"label\" translatable=\"yes\">/</property>            <property name=\"response_id\">0</property>          </widget>          <packing>            <property name=\"left_attach\">4</property>            <property name=\"right_attach\">5</property>            <property name=\"top_attach\">3</property>            <property name=\"bottom_attach\">4</property>            <property name=\"x_padding\">4</property>            <property name=\"y_padding\">8</property>          </packing>        </child>        <child>          <widget class=\"GtkButton\" id=\"button0\">            <property name=\"visible\">True</property>            <property name=\"label\" translatable=\"yes\">0</property>            <property name=\"response_id\">0</property>          </widget>          <packing>            <property name=\"top_attach\">4</property>            <property name=\"bottom_attach\">5</property>            <property name=\"x_padding\">4</property>            <property name=\"y_padding\">8</property>          </packing>        </child>        <child>          <widget class=\"GtkButton\" id=\"buttonMemread\">            <property name=\"visible\">True</property>            <property name=\"label\" translatable=\"yes\">MR</property>            <property name=\"response_id\">0</property>          </widget>          <packing>            <property name=\"left_attach\">4</property>            <property name=\"right_attach\">5</property>            <property name=\"top_attach\">4</property>            <property name=\"bottom_attach\">5</property>            <property name=\"x_padding\">4</property>            <property name=\"y_padding\">8</property>          </packing>        </child>        <child>          <widget class=\"GtkButton\" id=\"buttonEq\">            <property name=\"visible\">True</property>            <property name=\"label\" translatable=\"yes\">=</property>            <property name=\"response_id\">0</property>          </widget>          <packing>            <property name=\"left_attach\">1</property>            <property name=\"right_attach\">3</property>            <property name=\"top_attach\">4</property>            <property name=\"bottom_attach\">5</property>            <property name=\"x_padding\">4</property>            <property name=\"y_padding\">8</property>          </packing>        </child>        <child>          <widget class=\"GtkButton\" id=\"button2\">            <property name=\"visible\">True</property>            <property name=\"label\" translatable=\"yes\">2</property>            <property name=\"response_id\">0</property>          </widget>          <packing>            <property name=\"left_attach\">1</property>            <property name=\"right_attach\">2</property>            <property name=\"top_attach\">1</property>            <property name=\"bottom_attach\">2</property>            <property name=\"x_padding\">4</property>            <property name=\"y_padding\">8</property>          </packing>        </child>      </widget>    </child>  </widget></glade-interface>"# Initialize libsgtk_initglade_initdefine XML glade_xml_new_from_buffer "'$GUI'" ${#GUI} $NULL $NULLglade_xml_signal_autoconnect $XML# Get main window ID and connect signalglade_xml_get_widget $XML "window"gtk_server_connect "$GTK delete-event window"# Get button ID's and connect signalsglade_xml_get_widget $XML "button0"gtk_server_connect "$GTK clicked button0"glade_xml_get_widget $XML "button1"gtk_server_connect "$GTK clicked button1"glade_xml_get_widget $XML "button2"gtk_server_connect "$GTK clicked button2"glade_xml_get_widget $XML "button3"gtk_server_connect "$GTK clicked button3"glade_xml_get_widget $XML "button4"gtk_server_connect "$GTK clicked button4"glade_xml_get_widget $XML "button5"gtk_server_connect "$GTK clicked button5"glade_xml_get_widget $XML "button6"gtk_server_connect "$GTK clicked button6"glade_xml_get_widget $XML "button7"gtk_server_connect "$GTK clicked button7"glade_xml_get_widget $XML "button8"gtk_server_connect "$GTK clicked button8"glade_xml_get_widget $XML "button9"gtk_server_connect "$GTK clicked button9"# Operatorsglade_xml_get_widget $XML "buttonC"gtk_server_connect "$GTK clicked buttonC"glade_xml_get_widget $XML "buttonCE"gtk_server_connect "$GTK clicked buttonCE"glade_xml_get_widget $XML "buttonAdd"gtk_server_connect "$GTK clicked buttonAdd"glade_xml_get_widget $XML "buttonMinus"gtk_server_connect "$GTK clicked buttonMinus"glade_xml_get_widget $XML "buttonMul"gtk_server_connect "$GTK clicked buttonMul"glade_xml_get_widget $XML "buttonDiv"gtk_server_connect "$GTK clicked buttonDiv"glade_xml_get_widget $XML "buttonEq"gtk_server_connect "$GTK clicked buttonEq"# Memory buttonsglade_xml_get_widget $XML "buttonMemadd"gtk_server_connect "$GTK clicked buttonMemadd"glade_xml_get_widget $XML "buttonMemread"gtk_server_connect "$GTK clicked buttonMemread"# Get entry IDdefine ENTRY glade_xml_get_widget $XML "entry"# Calculator starts with 0gtk_entry_set_text $ENTRY 0#---------------------------------------------------------- Init variables# Initialize calculator statedeclare STATE=0# Initialize temp calculator cachedeclare CACHE=0# Initialize last calculator actiondeclare ACTION=0# Initiliaze calculator total resultdeclare TOTAL=0# Initialize MEM functiondeclare MEM=0#---------------------------------------------------------- Functions# Define action when +, -, *, or / is pressedfunction operator(){if [[ $STATE -eq 0 ]]then    case $ACTION in	1)	    gtk_entry_get_text $ENTRY	    let CACHE=$CACHE+$GTK	    gtk_entry_set_text $ENTRY $CACHE;;	2)	    gtk_entry_get_text $ENTRY	    let CACHE=$CACHE-$GTK	    gtk_entry_set_text $ENTRY $CACHE;;	3)	    gtk_entry_get_text $ENTRY	    let CACHE=$CACHE*$GTK	    gtk_entry_set_text $ENTRY $CACHE;;	4)	    gtk_entry_get_text $ENTRY	    if [[ $GTK -eq 0 ]]	    then		gtk_entry_set_text $ENTRY "ERROR"	    else		let CACHE=$CACHE/$GTK		gtk_entry_set_text $ENTRY $CACHE	    fi;;    esacfi}# Define action when 0 1 2 3 4 5 6 7 8 9 is pressed; requires argumentfunction number(){gtk_entry_get_text $ENTRYif [[ $GTK -eq 0 || $STATE -gt 0 ]]then    define CACHE gtk_entry_get_text $ENTRY    gtk_entry_set_text $ENTRY $1else    gtk_entry_set_text $ENTRY $GTK$1fiSTATE=0}#---------------------------------------------------------- Mainloopuntil [[ $EVENT = "window" ]]do    define EVENT gtk_server_callback "wait"    case $EVENT in	"buttonMemread")	    STATE=0	    define CACHE gtk_entry_get_text $ENTRY	    gtk_entry_set_text $ENTRY $MEM;;	"buttonMemadd")	    define MEM gtk_entry_get_text $ENTRY;;	"buttonC")	    gtk_entry_set_text $ENTRY 0;;	"buttonCE")	    TOTAL=0	    STATE=0	    ACTION=0	    CACHE=0	    MEM=0	    gtk_entry_set_text $ENTRY 0;;	"buttonAdd")	    operator	    ACTION=1	    ((STATE+=1));;	"buttonMinus")	    operator	    ACTION=2	    ((STATE+=1));;	"buttonMul")	    operator	    ACTION=3	    ((STATE+=1));;	"buttonDiv")	    operator	    ACTION=4	    ((STATE+=1));;	"buttonEq")	    operator	    ACTION=0	    ((STATE+=1));;	"button0")	    number 0;;	"button1")	    number 1;;	"button2")	    number 2;;	"button3")	    number 3;;	"button4")	    number 4;;	"button5")	    number 5;;	"button6")	    number 6;;	"button7")	    number 7;;	"button8")	    number 8;;	"button9")	    number 9;;    esacdone# Exit GTKgtk_server_exit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -