001package org.vishia.guiBzr; 002 003import java.io.File; 004 005import org.vishia.gral.base.GralWidget; 006import org.vishia.gral.ifc.GralMngBuild_ifc; 007import org.vishia.gral.ifc.GralUserAction; 008import org.vishia.mainCmd.Report; 009import org.vishia.util.FileSystem; 010 011public class GuiCommitPanel 012{ 013 014 /**Aggregation to the main data of the GUI. */ 015 final MainData mainData; 016 017 /**Aggregation to the build interface of the manager where the panel is member of. */ 018 final GralMngBuild_ifc panelBuildifc; 019 020 final StringBuilder uCommitOut = new StringBuilder(); 021 022 GralWidget widgdCommitText; // = new GralWidget("commitText", 'T'); 023 024 public GuiCommitPanel(MainData mainData, GralMngBuild_ifc panelBuildifc) 025 { 026 this.panelBuildifc = panelBuildifc; 027 this.mainData = mainData; 028 } 029 030 /**Initializes the graphic. 031 * It will be called in the GUI-Thread. 032 */ 033 void initGui() 034 { panelBuildifc.selectPanel("Commit"); 035 panelBuildifc.setPositionSize(2,0, 30, 70, 'r'); 036 widgdCommitText = panelBuildifc.addTextBox("commitText", true, null, ' '); // "commit Text", 't'); 037 038 panelBuildifc.setPositionSize(33,0, 3, 10, 'r'); 039 panelBuildifc.addButton("commit", actionCommit, "commit", null, "commit"); 040 041 } 042 043 044 045 046 private final GralUserAction actionCommit = new GralUserAction() 047 { 048 @Override 049 public boolean userActionGui(String sCmdGui, GralWidget widgetInfos, Object... values) 050 { 051 File fileCommitText = mainData.mainAction.getContentofCommitText(); 052 StringBuilder sCmdCommit = new StringBuilder(mainData.cfg.indexCmds.get("commit")); 053 int posFile = sCmdCommit.indexOf("$CommitDescrFile"); 054 if(posFile >=0){ 055 sCmdCommit.replace(posFile, 16, fileCommitText.getAbsolutePath()); 056 } else { 057 //what todo 058 } 059 //String sCmd = "bzr commit -F " + fileCommitText.getAbsolutePath(); 060 mainData.cmdExec.setCurrentDir(mainData.currCmpn.dirWorkingtree); 061 String sCmdStatus = mainData.cfg.indexCmds.get("status"); 062 mainData.cmdExec.execute(sCmdStatus, null, uCommitOut, uCommitOut); 063 uCommitOut.setLength(0); 064 mainData.cmdExec.execute(sCmdCommit.toString(), null, uCommitOut, uCommitOut); 065 stop(); 066 return true; 067 } 068 }; 069 070 071 void stop(){} 072 073}