-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
428bd82
commit c5609e6
Showing
4 changed files
with
245 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
package hexedit | ||
|
||
class HexxedStatus { | ||
|
||
private HexxedStatus() {} | ||
private static final currentStatus = new HexxedStatus() | ||
static getCurrentStatus() { return currentStatus} | ||
def littleEndian | ||
def bigEndian | ||
def bitWidth | ||
def useBlocks | ||
def blockSize | ||
def windowEdit | ||
|
||
def subscribersLittleEndian = [] | ||
def subscribersBigEndian = [] | ||
def subscribersBitWidth = [] | ||
def subscribersUseBlocks = [] | ||
def subscribersBlockSize = [] | ||
|
||
|
||
|
||
void setLittleEndian(def le) | ||
{ | ||
littleEndian = le | ||
notifyLE(subscribersLittleEndian) | ||
} | ||
|
||
void setBigEndian(def be) | ||
{ | ||
bigEndian = be | ||
notifyBE(subscribersBigEndian) | ||
} | ||
|
||
void setBitWidth(def bw) | ||
{ | ||
bitWidth = bw | ||
notifyBW(subscribersBitWidth) | ||
} | ||
|
||
void setUseBlocks(def ub) | ||
{ | ||
useBlocks = ub | ||
notifyUB(subscribersUseBlocks) | ||
} | ||
|
||
void setBlockSize(def bs) | ||
{ | ||
blockSize = bs | ||
notifyBS(subscribersBlockSize) | ||
} | ||
|
||
void setWindowEdit(def we) | ||
{ | ||
windowEdit = we | ||
} | ||
|
||
void notifyBE(def list) | ||
{ | ||
list.each{$it.updateBE(bigEndian)} | ||
} | ||
|
||
void notifyLE(def list) | ||
{ | ||
list.each{$it.updateLE(littleEndian)} | ||
} | ||
|
||
void notifyBW(def list) | ||
{ | ||
list.each{$it.updateBW(bitWidth)} | ||
} | ||
|
||
void notifyUB(def list) | ||
{ | ||
list.each{$it.updateUB(useBlocks)} | ||
} | ||
|
||
void notifyBS(def list) | ||
{ | ||
list.each{$it.updateBS(blockSize)} | ||
} | ||
|
||
void subscribeBigEndian(def subscriber) | ||
{ | ||
//cannot subscribe twice | ||
subscribersBigEndian -= subscriber | ||
subscribersBigEndian << subscriber | ||
} | ||
|
||
void unsubscribeBigEndian(def subscriber) | ||
{ | ||
subscribersBigEndian -= subscriber | ||
} | ||
|
||
void subscribeLittleEndian(def subscriber) | ||
{ | ||
//cannot subscribe twice | ||
subscribersLittleEndian -= subscriber | ||
subscribersLittleEndian << subscriber | ||
} | ||
|
||
void unsubscribeLittleEndian(def subscriber) | ||
{ | ||
subscribersLittleEndian -= subscriber | ||
} | ||
|
||
void subscribeBitWidth(def subscriber) | ||
{ | ||
//cannot subscribe twice | ||
subscribersBitWidth -= subscriber | ||
subscribersBitWidth << subscriber | ||
} | ||
|
||
void unsubscribeBitWidth(def subscriber) | ||
{ | ||
subscribersBitWidth -= subscriber | ||
} | ||
void subscribeUseBlocks(def subscriber) | ||
{ | ||
//cannot subscribe twice | ||
subscribersUseBlocks -= subscriber | ||
subscribersUseBlocks << subscriber | ||
} | ||
|
||
void unsubscribeUseBlocks(def subscriber) | ||
{ | ||
subscribersUseBlocks -= subscriber | ||
} | ||
|
||
void subscribeBlockSize(def subscriber) | ||
{ | ||
//cannot subscribe twice | ||
subscribersBlockSize -= subscriber | ||
subscribersBlockSize << subscriber | ||
} | ||
|
||
void unsubscribeBlockSize(def subscriber) | ||
{ | ||
subscribersBlockSize -= subscriber | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
package hexedit | ||
|
||
import groovy.swing.SwingBuilder | ||
import javax.swing.* | ||
|
||
class HexxedWindow { | ||
|
||
def swingWindow | ||
def swingBuilder | ||
def statusHolder | ||
|
||
HexxedWindow(def x, def y, def controller) | ||
{ | ||
statusHolder = controller | ||
//create basic window | ||
//then create menus | ||
swingBuilder = new SwingBuilder() | ||
swingWindow = swingBuilder.frame(title: "HEXXED", size: [x, y], | ||
show: true) { | ||
//menu | ||
menuBar() { | ||
menu(text: "File", mnemonic: 'F'){ | ||
menuItem(text: "Load", mnemonic: 'L', | ||
actionPerformed: { loadFile() }) | ||
menuItem(text: "Quit", mnemonic: 'Q', | ||
actionPerformed: { dispose() }) | ||
} | ||
menu(text: "Display", mnemonic: 'D'){ | ||
menuItem(text: "Set width", mnemonic: 'w', | ||
actionPerformed: { setWidth() }) | ||
} | ||
menu(text: "Navigate", mnemonic: 'N'){ | ||
menuItem(text: "Forwards", mnemonic: 'F', | ||
actionPerformed: { forward() }) | ||
menuItem(text: "Backwards", mnemonic: 'B', | ||
actionPerformed: { backward() }) | ||
menuItem(text: "Next block", mnemonic: 'x', | ||
actionPerformed: { nextBlock() }) | ||
menuItem(text: "Previous block", mnemonic: 'P', | ||
actionPerformed: { previousBlock() }) | ||
} | ||
menu(text: "About", mnemonic: 'A'){ | ||
menuItem(text: "Help", mnemonic: 'H', | ||
actionPerformed: { helpMenu()}) | ||
menuItem(text: "Licence", mnemonic: 'L', | ||
actionPerformed: { displayGPL() }) | ||
} | ||
} | ||
} | ||
} | ||
|
||
|
||
def setWidth() | ||
{} | ||
|
||
def loadFile() | ||
{ | ||
def loadDialog = swingBuilder.fileChooser( | ||
dialogTitle: "Choose a file to open" | ||
) | ||
loadDialog.showOpenDialog() | ||
//fileHandler.setNewFile(loadDialog.getSelectedFile()) | ||
} | ||
|
||
def forward() | ||
{} | ||
|
||
def backward() | ||
{} | ||
|
||
def nextBlock() | ||
{} | ||
|
||
def previousBlock() | ||
{} | ||
|
||
def helpMenu() | ||
{} | ||
|
||
def displayGPL() | ||
{} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.