Changeset 33683 for lang/csharp

Show
Ignore:
Timestamp:
05/31/09 15:06:58 (5 years ago)
Author:
hoge1e3
Message:

検索履歴をタブで自動表示。タブを隠す機能まだ

Location:
lang/csharp/soyText/soyText
Files:
1 added
11 modified

Legend:

Unmodified
Added
Removed
  • lang/csharp/soyText/soyText/Debug.cs

    r33260 r33683  
    33using System.Linq; 
    44using System.Text; 
     5using System.Windows.Forms; 
    56 
    67namespace SoyText 
     
    1314            statusText = o + ""; 
    1415        } 
     16        public static void alert(object o) 
     17        { 
     18            MessageBox.Show(o + ""); 
     19        } 
    1520    } 
    1621} 
  • lang/csharp/soyText/soyText/DocumentSet.cs

    r33578 r33683  
    1313    public class DocumentSet 
    1414    { 
     15        internal SearchLogSet searchLogSet; 
    1516        public int maxHandle = -1; 
    1617        internal Workspace workspace; 
     
    2728        { 
    2829            workspace = w; 
     30            searchLogSet = new SearchLogSet(this); 
    2931        } 
    3032        public static int cnt=0; 
     
    9193            } 
    9294        } 
     95        public void clear() 
     96        { 
     97            cache = null; 
     98        } 
    9399        public int createHandle() 
    94100        { 
  • lang/csharp/soyText/soyText/EditorTab.cs

    r33649 r33683  
    1717        public TabPage tabPage; 
    1818        public Workspace workspace; 
     19        public Form2 parentForm; 
    1920        Document _curDoc; 
    2021        public Document curDoc 
     
    2728        //String _statusText = ""; 
    2829        //Queue<SyncUIAction> uiActionQueue = new Queue<SyncUIAction>(); 
     30        string initialCondition; 
    2931        public void onLoad(object sender, EventArgs e) 
    3032        { 
     33            if (searchOnLoad) initList(); 
     34            ActiveControl = command; 
     35        } 
     36        public void initList() 
     37        { 
     38            if (listInited) return; 
    3139            documentSet.getRecents(); 
    32             newDocument(); 
    33             refreshList(); 
    34  
    35             ActiveControl = command; 
     40            if (initialCondition != "") 
     41            { 
     42                refreshList(initialCondition); 
     43            } 
     44            else 
     45            { 
     46                newDocument(); 
     47                refreshList(); 
     48            } 
     49            listInited = true; 
    3650        } 
    3751        /*public String statusText 
     
    4256            } 
    4357        }*/ 
    44         public EditorTab(Workspace w) 
    45         { 
    46             workspace = w; 
     58        bool searchOnLoad; 
     59        bool listInited = false; 
     60 
     61        public EditorTab(Form2 parent,string condition, bool searchOnLoad) 
     62        { 
     63            initialCondition = condition; 
     64            this.searchOnLoad = searchOnLoad; 
     65            parentForm = parent; 
     66            workspace = parentForm.workspace; 
    4767            InitializeComponent(); 
     68            command.Text = condition; 
    4869            prevDist = splitContainer1.SplitterDistance; 
    4970            //curDoc = documentSet.createDocument(); 
     
    79100            SyncUI.exe(a); 
    80101        } 
    81         public void refreshList(String kw) 
     102        static bool firstTab=true; 
     103        public void refreshList(string kw) 
    82104        { 
    83105            if (kw == "" || kw==null) Text = "soyText"; 
     
    85107            if (titleChanged != null) titleChanged(kw); 
    86108            if (documentSearcher != null) documentSearcher.terminate(); 
     109            if (kw!=null && kw!="") documentSet.searchLogSet.addOrGet(kw); 
     110            var ft = firstTab; 
     111            firstTab = false; 
    87112            searchThread.exec(delegate(TerminableThread t) 
    88113            { 
     
    95120                delegate(Document d) 
    96121                { 
    97                     cnt++; 
    98122                    if (cnt < 100) 
    99123                    { 
    100                         syncUI(delegate() { docListBox.Items.Add(d); }); 
     124                        if (documentSet.searchLogSet.add(d)) 
     125                        { 
     126                            if (ft) 
     127                            { 
     128                                //Debug.alert(d.content + " / " + d.parsed["condition"]); 
     129                                syncUI(delegate() 
     130                                {    
     131                                    parentForm.newTab(d.parsed["condition"],false); 
     132                                }); 
     133                            } 
     134                        } 
     135                        else 
     136                        { 
     137                            cnt++; 
     138                            syncUI(delegate() { docListBox.Items.Add(d); }); 
     139                        }  
    101140                        return FoundHandlerAction.Accept; 
    102141                    } 
  • lang/csharp/soyText/soyText/Form2.cs

    r33649 r33683  
    1313    { 
    1414        EditorTab curTab; 
    15         Workspace workspace; 
     15        public Workspace workspace; 
    1616        public int inst = 0; 
    17         public void newTab(string query) 
     17        public void newTab(string query, bool searchOnLoad) 
    1818        { 
    1919            var t=tabControl1.TabPages; 
    2020            t.Add(query!=""?query:"all"); 
    2121            var b = t[t.Count - 1]; 
    22             curTab = new EditorTab(workspace); 
    23             curTab.Dock = DockStyle.Fill; 
    24             curTab.Load += curTab.onLoad; 
    25             curTab.titleChanged = delegate(string kw) 
     22            var nTab = new EditorTab(this,query,searchOnLoad); 
     23            nTab.Dock = DockStyle.Fill; 
     24            nTab.Load += nTab.onLoad; 
     25            nTab.titleChanged = delegate(string kw) 
    2626            { 
    2727                if (kw == "" || kw == null) Text = "soyText"; 
     
    2929                b.Text = (kw==""|| kw==null) ? "all":kw; 
    3030            }; 
    31              
    32             tabControl1.SelectedTab = b; 
    33             b.Controls.Add(curTab); 
     31            if (searchOnLoad) 
     32            { 
     33                tabControl1.SelectedTab = b; 
     34                curTab = nTab; 
     35            } 
     36            b.Controls.Add(nTab); 
    3437        } 
    3538        public Form2(Workspace workspace) 
     
    3740            this.workspace = workspace; 
    3841            InitializeComponent(); 
    39             newTab(""); 
     42            newTab("",true); 
    4043            inst++; 
    4144        } 
     
    8386        private void 最新の情報に更新RToolStripMenuItem_Click(object sender, EventArgs e) 
    8487        { 
     88            curTab.documentSet.clear(); 
    8589            curTab.refreshList(curTab.command.Text); 
    8690        } 
     
    9397        private void 新規タブTToolStripMenuItem_Click(object sender, EventArgs e) 
    9498        { 
    95             newTab(""); 
     99            newTab("",true); 
    96100        } 
    97101 
     
    107111            { 
    108112                Text = curTab.Text; 
     113                curTab.initList(); 
    109114            } 
    110115        } 
  • lang/csharp/soyText/soyText/SearchLogSet.cs

    r33649 r33683  
    1212        { 
    1313            this.superSet = superSet; 
    14             list = new Dictionary<string, Document>(); 
     14            expr2doc = new Dictionary<string, Document>(); 
    1515            recents = new DocumentList(); 
    1616        } 
    17         Dictionary<string,Document> list = null; 
     17        Dictionary<string,Document> expr2doc = null; 
    1818        DocumentList recents; 
    1919 
     
    2222            if (d.parsed["type"] != "SearchLog") return false; 
    2323            var c=d.parsed["condition"]; 
    24             if (!list.ContainsKey(c)) { 
    25                            list[c]=d; 
     24            if (!expr2doc.ContainsKey(c)) { 
     25                           expr2doc[c]=d; 
    2626                           recents.add(d); 
    2727            } 
     
    3232            return recents; 
    3333        } 
    34         public void add(string searchExpr) 
     34        public Document addOrGet(string searchExpr) 
    3535        { 
    3636            var c = searchExpr; 
    37             if (!list.ContainsKey(c)) 
     37            if (!expr2doc.ContainsKey(c)) 
    3838            { 
    3939                var d = superSet.createDocument(); 
     
    4242                d.save(); 
    4343                add(d); 
     44                return d; 
    4445            } 
     46            return expr2doc[c]; 
    4547        } 
    4648    } 
  • lang/csharp/soyText/soyText/bin/Debug/soyText.application

    r33649 r33683  
    1212        </dsig:Transforms> 
    1313        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
    14         <dsig:DigestValue>NzImv/+409azqvCZyF3CI7ckSG0=</dsig:DigestValue> 
     14        <dsig:DigestValue>C9XaxFQ/9lz54FYwGPtvEdCF4YM=</dsig:DigestValue> 
    1515      </hash> 
    1616    </dependentAssembly> 
  • lang/csharp/soyText/soyText/bin/Debug/soyText.exe.manifest

    r33649 r33683  
    113113  </dependency> 
    114114  <dependency> 
    115     <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="soyText.exe" size="80896"> 
     115    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="soyText.exe" size="81920"> 
    116116      <assemblyIdentity name="soyText" version="1.0.0.0" language="neutral" processorArchitecture="msil" /> 
    117117      <hash> 
     
    120120        </dsig:Transforms> 
    121121        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
    122         <dsig:DigestValue>xoIpTSHlzPf6s71Jq19Wy0TeQ30=</dsig:DigestValue> 
     122        <dsig:DigestValue>uF4OMnEc8Lq66CZx9rxVUYlFjWo=</dsig:DigestValue> 
    123123      </hash> 
    124124    </dependentAssembly> 
  • lang/csharp/soyText/soyText/bin/Debug/soyText.vshost.application

    r33649 r33683  
    1212        </dsig:Transforms> 
    1313        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
    14         <dsig:DigestValue>NzImv/+409azqvCZyF3CI7ckSG0=</dsig:DigestValue> 
     14        <dsig:DigestValue>C9XaxFQ/9lz54FYwGPtvEdCF4YM=</dsig:DigestValue> 
    1515      </hash> 
    1616    </dependentAssembly>